重复使用相同的AVPlayer和AVPlayerLayer或每次创建新的?

如果您需要在同一视图中播放多个视频,看似有两种方法:(1)每次创建新的AVPlayerLayers和AVPlayers; 或(2)重复使用相同的。

假设您的课程旨在播放多个视频,并使用以下代码加载新视频:

    var player = AVPlayer()
    var playerItem:AVPlayerItem?
    var playerLayer:AVPlayerLayer?

    // Get file path to <videoURL>
    videoURL = getFilePath(videoURL)

    // Create player & layer
    playerItem = AVPlayerItem(URL: NSURL(fileURLWithPath: videoURL))
    player = AVPlayer(playerItem: playerItem!)
    playerLayer = AVPlayerLayer(player: player)

第二种选择是在创建AVPlayerLayer和AVPlayer之后重用它们。 所以你可以用这个替换最后两行:

    player.replaceCurrentItemWithPlayerItem(playerItem!)

每个选项的优点/缺点是什么? 可以使用选项1还是被认为是浪费?

链接地址: http://www.djcxy.com/p/56889.html

上一篇: Reuse same AVPlayer and AVPlayerLayer or create new ones each time?

下一篇: AVPlayer layer not showing video content