AVPlayer,改变流导致叠加

时间:2016-10-17 14:34:43

标签: ios swift streaming overlay avplayer

最后,我正在使用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()

有人可以帮助我解决这个问题,因为它真的让我很紧张。谢谢!

0 个答案:

没有答案