使用swift恢复AVAudioPlayer中的声音
我试图播放可以暂停,恢复或停止的声音片段。我的暂停按钮起作用,并且此按钮的操作功能如下所示。但是我无法让我的简历功能正常工作。当我按下继续按钮时,不播放音频。我已经在线阅读,我可以找到的唯一技巧是使用prepareToPlay()函数并将shortStartTimeDelay设置为大于0.0的值。我已经试过这两个都无济于事。使用swift恢复AVAudioPlayer中的声音
timeAtPause是类型的全局变量NSTimeInterval
为暂停按钮的操作功能如下:
@IBAction func pauseAllAudio(sender: UIButton) { timeAtPause = audioPlayer.currentTime audioPlayer.pause() }
用于恢复按钮的操作功能如下:
@IBAction func resumeAllAudio(sender: UIButton) {
let shortStartDelay = 0.01
audioPlayer.prepareToPlay()
audioPlayer.playAtTime(timeAtPause + shortStartDelay)
}
如何恢复音频的任何提示将非常感激。 谢谢你的时间。
你不应该使用playAtTime()
恢复AVAudioPlayer
,如documentation状态:
播放声音异步,开始在 音频输出设备的时间轴上的指定点。
和
使用此方法精确地同步两个或更多 AVAudioPlayer对象的播放。
而且,即使您使用它,也应该结合使用deviceCurrentTime
加上延迟时间以秒为单位。总之,这并不意味着用于恢复已暂停的播放器。相反,只需使用play()
即可恢复播放。
感谢您花时间回答。如果我使用audioPlayer.play(),我仍然没有得到正确的行为。 现在如果我按暂停音频停止播放扬声器,然后当我按下恢复时,它不会继续播放,当我按暂停时。它通过mp3继续播放 – JungleBook
要简单地暂停和在音频文件中的相同位置重新启动,以下工作:
@IBAction func playAction(sender: AnyObject) {
player.play()
}
@IBAction func pauseAction(sender: AnyObject) {
player.pause()
}
检查这个环节,可以帮助你http://www.ioscreator.com/tutorials/play-music -avaudioplayer-ios8-swift – UlyssesR