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?
Swift 5.0
let session = AVAudioSession.sharedInstance()
do{
try session.setCategory(.playAndRecord)
try session.overrideOutputAudioPort(AVAudioSession.PortOverride.none)
try session.setActive(true)
} catch {
print ("\(#file) - \(#function) error: \(error.localizedDescription)")
}
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With