如果我使用AVSpeechSynthesizer讲一些文字,它可以在设备上正常工作,但是一旦我使用AirPlay,语音的开头就会被切断,除非之前说过的话。
似乎音频设备将要睡觉。
以下是我的代码
let synthesizer = AVSpeechSynthesizer()
func speakCall(call: (letter: String, number: Int)) -> Void {
for _ in 1...2 { // Speak the message twice
let utterance = AVSpeechUtterance(string: "\(call.letter), \(call.number)")
utterance.postUtteranceDelay = 0.15
synthesizer.speakUtterance(utterance)
}
}
答案 0 :(得分:1)
你可以告诉AVAudioPlayer播放静音,这会导致音频设备无法入睡。
let silence = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("silence", ofType: "mp3")!)
var silencePlayer: AVAudioPlayer?
try? silencePlayer = AVAudioPlayer(contentsOfURL: silence)
silencePlayer?.numberOfLoops = -1
silencePlayer?.play()