4

我不断收到此错误:

'AVPlayerItem 一次只能占据玩家队列中的一个位置。'

我对玩家的物品进行了 NSLog 记录,但它们似乎都不相同。此外,我添加了这个只是为了确定:

if([player canInsertItem:itemToAdd afterItem:nil])
 [player insertItem:itemToAdd afterItem:nil];

当我不确定这是否可行(可以在不同的内存位置有两个相同的项目)时,我编写了一个类别方法来测试玩家是否包含一个项目或与其相同的东西。但是,我仍然收到错误消息。

我已经看到一些人在使用 MPMoviePlayerController 时遇到此错误的帖子,但我没有使用那个自定义类,只是开箱即用的 AVQueuePlayer。

有想法该怎么解决这个吗?

4

2 回答 2

0

有一个类似的问题

它没有公认的答案,但似乎很多人都遇到了同样的问题。
另外,请参阅Apple 开发论坛上的这篇文章

于 2013-11-02T00:37:49.880 回答
0

我遇到过类似的问题。我想您可能已经使用 AVPlayerLooper 和 AVQueuePlayer 了?在描述中它说:

以指定的 AVPlayerItem 为模板,生成至少 3 个 AVPlayerItem 副本,并将副本插入到指定的 AVQueuePlayer 的播放队列中,完成循环播放。

在这种情况下,当您调用诸如 replaceCurrentItem 之类的函数时,可能会发生错误。

目前我只能猜测此类错误的原因,我会在进一步测试完成后更新。

于 2020-07-17T06:50:12.503 回答