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