我正在构建一个可以同时处理流媒体和非流媒体内容的视频播放器,我希望它可以通过 AirPlay 播放。
我目前正在使用多个AVPlayer
实例(每个剪辑一个),它工作正常,但问题是它在使用 AirPlay 时并没有提供非常流畅的体验。切换时界面在每个剪辑之间来回跳转AVPlayer
,所以想迁移到使用单片机AVPlayer
。这似乎是一项微不足道的任务,但我还没有找到一种方法来做到这一点。
这是我迄今为止尝试过的:
使用单个
AVPlayer
和多个AVPlayerItems
并在使用replaceCurrentItemWithPlayerItem
. 在流式传输- >流式传输剪辑或非流式传输->非流式传输之间切换时效果很好,但AVPlayer
似乎不接受流式传输->非流式传输之间的替换,反之亦然。基本上,当我尝试切换时没有任何反应。由于与上述相同的原因,使用
AVQueuePlayer
with multiple失败。AVPlayerItems
AVPlayer
基于AVMutableComposition
资产的单个 AVPlayerItem使用单个。这是行不通的,因为流式传输内容是不允许的AVMutableComposition
(并且AVURLAssets
从流式传输 url 创建的没有任何内容AVAssetTracks
,并且它们是必需的)。
那么我有什么遗漏吗?关于如何实现这一点的任何其他建议?