尝试使用 AirPlay 投射本地视频文件会返回“externalPlaybackNotSupportedForAsset”(-11870)

Ale*_*tti 5 video ios airplay avasset swift

我目前在使用AVPlayerAVAsset来使用 AirPlay 将视频投射到外部屏幕时遇到一些问题。

添加AVRoutePickerView以获得 AirPlay 按钮后,我能够成功地投射视频以使用 AirPlay,从远程 URL创建AVAsset 。

如果我对之前从应用程序下载的视频文件尝试同样的操作(并且它仍在内部应用程序存储中),AVPlayer会失败并给出错误代码 (-11870)。在不启用 AirPlay 的情况下,本地视频仍然可以正常播放。

经过几次搜索后,我发现错误代码指的是externalPlaybackNotSupportedForAsset,尽管没有对此进行进一步的解释或提及此错误。

我偶然发现了有关AVAssetReferenceRestrictions的问题,并认为它可以帮助我解决问题,但即使在更改限制参数或将 options: argument 设置为nil后,初始化AVAsset对象也不起作用。

值得注意的是,使用 Google Cast 进行投射也不适用于本地文件,而远程视频文件则可以正确投射。

有谁知道如何处理这个问题?

我使用的是 XCode 11 和运行 iOS 13.5.1 的 iPhone 6S。

亲切的问候