假设您的课程设计为播放多个视频,以下代码用于加载新视频:
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,还是被认为是浪费?
解决方法 如果您尝试同时播放多个视频,则需要使用相应的AVPlayerLayers创建多个AVPlayers.但是,如果您通过轻击手势或轻扫手势在多个视频之间切换,则可以回收两个AVPlayers.一个用于播放当前视频,另一个用于预加载下一个视频.
或者,您也可以只使用一个AVQueuePlayer和一个AVPlayerLayer并排队您的项目. AVQueuePlayer自动预加载列表中的下一个项目.
总结以上是内存溢出为你收集整理的ios – 每次重复使用相同的AVPlayer和AVPlayerLayer或创建新的?全部内容,希望文章能够帮你解决ios – 每次重复使用相同的AVPlayer和AVPlayerLayer或创建新的?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)