我需要将我的代码从 AVAudioPlayer
更改为 AVPlayer
因为它支持倒带而 AVAudioPlayer
不支持。我在使用这四行代码寻找正在使用 slider 播放的音频时遇到了问题。这是我的代码:
func changeAudioTime() {
//musicPlayer is declared as AVAudioPlayer and I want to change it to AVPlayer and I named the variable player
musicPlayer.prepareToPlay()
musicPlayer.currentTime = NSTimeInterval(slider.value)
musicPlayer.numberOfLoops = -1
slider.value = Float(musicPlayer.currentTime)
}
最佳答案
要在这两种情况下设置时间,您可以使用:
self.player.seekToTime(CMTimeMake(Int64(slider.value),1))
slider.value = Float(CMTimeGetSeconds(self.player.currentTime()))
对于循环,您可以尝试这样,因为没有直接的循环方法,直到您想重复为止,您可以设置标志/观察者并重复歌曲,如果重复关闭,则可以不执行观察者/搜索
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "playerItemDidReachEnd:",name: AVPlayerItemDidPlayToEndTimeNotification,
object: self.player.currentItem)
func playerItemDidReachEnd(notification: NSNotification) {
self.player.seekToTime(kCMTimeZero)
self.player.play()
}
关于ios - 我如何将这四行代码从 AVAudioPlayer 转换为 AVPlayer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36785093/