使用AVPlayer swift完成后再次播放音频



如何在完成后再次播放相同的音频?现在我将此代码用于AVPlayer:

fileprivate func play () {
guard let url = URL(string: record.recordUrl) else { return }
let playItem = AVPlayerItem(url: url)
player.replaceCurrentItem(with: playItem)
NotificationCenter.default.addObserver(self, selector: #selector(playerDidFinishPlaying), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playItem)
player.play()
}
@objc func playerDidFinishPlaying(note: NSNotification) {
print("Player finished")
currentTimeSlider.setValue(0, animated: true)
currentTimeLabel.text = "00:00"
}
@objc func playerDidFinishPlaying(note: NSNotification) {
print("Player finished")
currentTimeSlider.setValue(0, animated: true)
currentTimeLabel.text = "00:00"
//Swift 4
player.seek(to: .zero, toleranceBefore: .zero, toleranceAfter: .zero)
//Swift 2 & 3 (I believe for 2 & 3)
//player.seek(to: kCMTimeZero, toleranceBefore: kCMTimeZero, toleranceAfter: kCMTimeZero)
//Play
player.play()
}

我将查找添加到开头(公差确保它正好在零,而不是在零附近,并有一定的误差(。

还添加了完成后播放的功能。

最新更新