gpt4 book ai didi

ios - 从新 URL 播放视频而不创建新的 AVPlayer 对象

转载 作者:IT王子 更新时间:2023-10-29 05:29:28 26 4
gpt4 key购买 nike

我试图让用户能够循环浏览视频,即时更改 AVPlayer URL 而无需刷新 View 。但是,现在我只是在每次播放视频时实例化 AVPlayer 对象(导致音频相互播放),我觉得这不是最好的方法。有没有更有效的方法类似于在 imageView 中更改图像?

这是我播放剪辑的代码:

player = AVPlayer(URL: fileURL)
playerLayer = AVPlayerLayer(player: player)
playerLayer!.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer!)
player!.play()

最佳答案

不要使用AVPlayer

请改用 AVQueuePlayer,它允许您在队列中插入和移除项目。

//create local player in setup methods
self.localPlayer = AVQueuePlayer.init()

添加您可以简单使用的项目

//optional: clear current queue if playing straight away
self.localPlayer.removeAllItems()

//get url of track
let url : URL? = URL.init(string: "http://urlOfItem")
if url != nil {
let playerItem = AVPlayerItem.init(url: url!)

//you can use the after property to insert
//it at a specific location or leave it nil
self.localPlayer.insert(playerItem, after: nil)
self.localPlayer.play()
}

AVQueuePlayer 支持 AVPlayer 的所有功能,但增加了在队列中添加和删除项目的功能。

关于ios - 从新 URL 播放视频而不创建新的 AVPlayer 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35004984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com