返回上一个视图时 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。现在一切顺利。
我有两个视图控制器,一个是 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。现在一切顺利。