如果需要在同一个视图中播放多个视频,貌似有两种做法:(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,还是认为这很浪费?