0

如果我使用 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)
    }
}
4

1 回答 1

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()
于 2016-02-04T18:22:35.430 回答