I can't get the iOS 7 AVSpeechSynthesizer
to work when my iOS app is in background mode. I have added the "App plays audio" key to the app's supported background modes, but I still can't get it to work.
I have also investigated the possibility of creating an AVMutableCompositionTrack
, with an AVSpeechSynthesizer
utterance, and then somehow play it with a player that would be able to run in the background - but with no luck.
Did anyone have better luck than me in using AVSpeechSynthesizer
in the background?
This code works for me in Swift 5
According to https://forums.developer.apple.com/thread/38917
AVAudioSessionCategoryOptionMixWithOthers is added along with the Playback Category when the session is mixable there are some internal checks as to the "why" an application is awake before it is allowed to play audio.
For swift 3, import AVKit (or AVFoundation) then add
to viewWillAppear(). This allows audio to play regardless of the mute switch status and in the background with the screen off.
*Edit: AVAudioSession is defined in AVFoundation and is also available with AVKit
*Edit 2: Screenshot of auto complete showing that AVAudioSession is available in AVKit