多个AVPlayer实例使用模拟器但不在Apple TV上

时间:2015-11-08 18:11:05

标签: swift avfoundation avplayer tvos apple-tv

我目前正试图在tvOS上使用AVPlayer和AVPlayerLayer并行播放多个AVPlayers。在模拟器中,这是正常工作的,在设备上只有一些玩家玩,其余的玩家层只是保持空白(甚至不是黑色而是空白)。我听说有传言说内部实现只支持24个同时实例,所以我已经将数量限制为24.但是在物理设备上,大约15个玩家可以并行播放。令人惊讶的是,这个数字往往有所不同,有时只有13,有时甚至是16。

我正在使用以下代码创建玩家(在闭包中执行,因此弱自我作为输入和strongSelf演员):

        guard let strongSelf = self else { return }

        strongSelf.player = AVPlayer(URL: localURL)
        strongSelf.player?.volume = 0.0
        strongSelf.player?.actionAtItemEnd = .Pause
        NSNotificationCenter.defaultCenter().addObserver(strongSelf, selector: "playerPlayedToEnd:", name: AVPlayerItemDidPlayToEndTimeNotification, object: strongSelf.player?.currentItem)

        strongSelf.playerLayer = AVPlayerLayer(player: strongSelf.player)
        strongSelf.playerLayer?.frame = strongSelf.contentView.bounds
        strongSelf.playerLayer?.videoGravity = AVLayerVideoGravityResizeAspect
        strongSelf.contentView.layer.addSublayer(strongSelf.playerLayer!)

        strongSelf.player?.play()

        strongSelf.activityIndicatorView.stopAnimating()

您是否有人知道可能导致此问题的原因?如果你们中的任何一个人可以提出建议,我也会接受任何解决方法:)

0 个答案:

没有答案