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

Sta*_*lov 5 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"
}
Run Code Online (Sandbox Code Playgroud)

imp*_*7vx 7

@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()
}
Run Code Online (Sandbox Code Playgroud)

我将搜索添加回开头(容差确保它恰好为零,而不是带有一定误差范围的零附近)。

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