Search code examples
swiftavplayer

Swift AVPlayer to ear speaker


I've got a simple audio player that works great. I'm playing a remote URL MP3. My code:

@IBAction func playAudio(sender: AnyObject) {
        let url = self.productAudio
        let playerItem = AVPlayerItem( URL:NSURL( string:url ) )
        player = AVPlayer(playerItem:playerItem)
        player.
        player.rate = 1.0;
        player.play()
}

But the audio is outputed by the loud speaker. How can I play the audio through the ear speaker?


Solution

  • Finally I found the answer...

    I had to modify my Audio Session, and override the port. This is the code before the player code:

        let session = AVAudioSession.sharedInstance()
        var error: NSError?
    
        session.setCategory(AVAudioSessionCategoryPlayAndRecord, error: &error)
        session.overrideOutputAudioPort(AVAudioSessionPortOverride.None, error: &error)
        session.setActive(true, error: &error)