gpt4 book ai didi

iphone - AVPlayerItem 失败并显示 AVStatusFailed 和错误代码 "Cannot Decode"

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

我遇到了一个奇怪的问题,希望有人能提供帮助。

在我的 iOS 应用程序中,我使用 MutableComposition 通过组合用户照片库中的视频和应用程序包中的音频文件来创建带有自定义音轨的视频。然后我使用 AVPlayerAVPlayerItem 使用我制作的自定义视频播放器向用户播放视频。

每次创建一个新的合成时, Assets 、播放器和合成都会被清除、释放,它基本上从一个干净的初始状态开始。

一切正常,直到以这种方式成功创建了 4 个视频之后,所有其他创建播放器的尝试都失败并显示错误 无法解码。不管我正在重新创建的是同一个视频,与视频或音频文件的大小/长度无关,它总是在第五次尝试时完全失败,就像发条一样。一旦失败,就永远失败!

这就奇怪了,刚才同一个视频解码四次都没有问题,怎么突然就失败了?所以,如果有人有线索,请告诉我。

最佳答案

好的,各位,我直接从 Apple 那里得到了答案。我使用了我的一位开发人员 TSI 生命线来问这个问题,我将总结一下回答。

AVFoundation 允许的并发视频播放器数量有限制。这是由于 iOS 硬件的限制。当前设备的限制是 4 个玩家。如果您创建第 5 个播放器,您将收到“无法解码”错误。它不是对 AVPlayer 或 AVPlayerItem 实例数量的限制。相反,它是 AVPlayerItem 与创建“渲染管道”的 AVPlayer 的关联,并且您仅限于其中的 4 个。例如,这会导致一个新的渲染管道:

AVPlayer *player = [AVPlayer playerWithPlayerItem:somePlayerItem];  
// assuming the AVPlayerItem is ready to go with an AVAsset that has been loaded

我还被警告过,您不能假设您将拥有 4 个可用的管道。另一个应用程序可能正在使用一个或多个。事实上,我已经在 iPad 上看到过这种情况,但不清楚是哪个应用程序在使用管道。

所以,你去吧,它完全没有记录,但这就是故事。

关于iphone - AVPlayerItem 失败并显示 AVStatusFailed 和错误代码 "Cannot Decode",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8608570/

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