Ale*_*tti 5 video ios airplay avasset swift
我目前在使用AVPlayer和AVAsset来使用 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。
亲切的问候
Dav*_*Liu -4
对于那些只想播放本地音频文件(即音乐)的人,请务必将 AVPlayer 设置allowsExternalPlayback为false. 通过设置该标志,AirPlay 可以正常播放本地文件。