Search code examples
iosswiftaudio

Play Audio when device in silent mode - ios swift


I am creating an application using xcode 7.1, swift. I want to play an audio. Everything is fine. Now my problem I want to hear sound when the device in silent mode or muted. How can I do it?

I am using the following code to play audio

currentAudio!.stop()
currentAudio = try? AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("sample_audio", ofType: "mp3")!));
            
currentAudio!.currentTime = 0
currentAudio!.play();

Solution

  • Put this line before calling play() method of AVPlayer.

    In Objective C

    [[AVAudioSession sharedInstance]
                setCategory: AVAudioSessionCategoryPlayback
                      error: nil];
    

    In Swift

    do {
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
    } catch {
        // report for an error
    }
    

    Swift 5

    do {
        try AVAudioSession.sharedInstance().setCategory(.playback)
    } catch(let error) {
        print(error.localizedDescription)
    }