最后,我正在使用AVPlayer开发流媒体应用。我有一些频道,并使用滑动手势更改它们。当我快速滑动频道时,它会导致流媒体播放。覆盖,所以当我在指定的流中时,前一个流层可能会覆盖在当前流中。
设置播放器的代码是:
if let url:NSURL = NSURL(string: stream){
self.playerItem = AVPlayerItem(URL: url)
self.player = AVPlayer(playerItem: self.playerItem)
self.playerLayer = AVPlayerLayer(player: self.player)
self.playerLayer.frame = self.view.bounds
self.view.layer.insertSublayer(self.playerLayer, below: self.tvView.layer)
self.player.play()
self.addObservers()
}
当我得到下一个频道时,我尝试使用以下代码销毁前一个频道:
if(self.player != nil){
self.player.pause()
self.player = nil
}
if(self.playerLayer != nil){
for layer in self.view.layer.sublayers!{
if(layer == self.playerLayer){
layer.removeFromSuperlayer()
}
}
}
self.removeObservers()
有人可以帮助我解决这个问题,因为它真的让我很紧张。谢谢!