如何在Swift中将 AVPlayerItem
的实例与新的 AVPlayer
重新关联?在初始化程序中使用时 . 每次我尝试将 AVPlayerItem
重新分配给不同的 AVPlayer
,即使我已将所有对 AVPlayer
的引用设置为 nil
(因此它应该被垃圾收集),它会抱怨 AVPlayerItem
无法分配给多个 AVPlayer
对象 . 我理解了几种解决方法,但我想知道为什么这种方式不起作用 .
let player: AVPlayer = AVPlayer(playerItem: somePlayerItem)
我不知道在这个声明中会发生什么,但是某个地方被设置为允许somePlayerItem知道它有一个关联的玩家 . 这是否有一些观察者设置在哪里或属性集会注意到这一点?
有没有人知道在原始的 AVPlayer
的引用被破坏之后将这个 AVPlayerItem
重新分配给另一个 AVPlayer
的方法?我知道我可以使用URL创建一个新的 AVPlayerItem
,但我想知道我是否可以保留相同的对象 .
1 回答
You can't reuse an item, but you can reuse an asset.
因此,创建一次您的资产:
然后在需要时通过创建新项重用它: