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

时间:2017-12-06 12:07:24

标签: swift swift3 avplayer

我有两个View Controllers一个TableViewController,我有一个音乐列表和一个播放音乐的UIViewController。加载视图时音乐会自动播放,按下暂停按钮时会暂停播放。

然而,每当我回到之前的TableViewController选择另一首音乐时,音乐就会继续播放。如果我选择另一首音乐,他们两个都在一起演奏。

我的代码:

var audioplayer = AVPlayer()

override func viewDidLoad() {
        super.viewDidLoad()

    play()
}

func play(){

    var songUrl = songList[selectedItem].url

    audioplayer = AVPlayer(url: songUrl!)

    audioplayer.play()

}

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用.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
}

答案 1 :(得分:0)

我已经解决了我的问题。我删除视图控制器中的所有玩家项目并为玩家创建新类。现在可以顺利完成工作了。