返回上一个视图时 AVPlayer 不会停止播放

AVPlayer not stop playing when going back to the previous view

我有两个视图控制器,一个是 TableViewController,我有一个音乐列表,另一个是 UIViewController,它在其中播放音乐。加载视图时自动播放音乐,按下暂停按钮时暂停。

然而,每当我回到之前的 TableViewController 到 select 另一首音乐时,音乐会继续播放。如果我 select 另一首音乐,则它们都在一起演奏。

我的代码:

var audioplayer = AVPlayer()

override func viewDidLoad() {
        super.viewDidLoad()

    play()
}

func play(){

    var songUrl = songList[selectedItem].url

    audioplayer = AVPlayer(url: songUrl!)

    audioplayer.play()

}

您尝试过使用 .pause() 吗?示例:

var audioplayer: AVPlayer? = AVPlayer()

override func viewDidLoad() {
    super.viewDidLoad()

    play()
}

func play(){

    var songUrl = songList[selectedItem].url

    audioplayer = AVPlayer(url: songUrl!)

    audioplayer.play()

}

override func viewDidDisappear(_ animated: Bool) {
    super.viewDidDisappear(animated)
    audioplayer.pause()
    audioplayer = nil
}

我已经解决了我的问题。我删除了视图控制器中的所有播放器项目并为播放器创建了新的 class。现在一切顺利。