我一直收到这个错误:
'AVPlayerItem只能在a的队列中占据一个位置 时间'。
我对球员项目进行了NSLog,但他们似乎都不相同。此外,我添加了这个以确定:
if([player canInsertItem:itemToAdd afterItem:nil])
[player insertItem:itemToAdd afterItem:nil];
当我不确定这是否可行时(在不同的内存位置可以有两个相同的项目)我写了一个类别方法来测试一个玩家是否包含一个项目或与之相同的东西。然而,我仍然得到错误。
我看过很多人用MPMoviePlayerController收到这个错误的帖子,但是我没有使用那个自定义类,只是开箱即用的AVQueuePlayer。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
它没有一个公认的答案,但似乎很多人都有同样的问题 另请参阅Apple Dev Forum的this post。
答案 1 :(得分:0)
我在这里回答了这个问题:ANSWER TO QUESTION
尽管它在Swift中,但不是Obj-C,它仍然适用。这是由于播放器项目的状态所致。
答案 2 :(得分:0)
我遇到了类似的问题。您可能已经将AVPlayerLooper和AVQueuePlayer一起使用了?在说明中说:
指定的AVPlayerItem将用作模板,以生成至少3个AVPlayerItem副本,并将这些副本插入到指定的AVQueuePlayer的播放队列中,以完成循环播放。
在那种情况下,当您调用诸如replaceCurrentItem之类的函数时,可能会发生错误。
目前,我只能猜测导致这种错误的原因,我将在完成进一步的测试后进行更新。