AVPlayer 不能与 AirPlay 一起使用

Posted

技术标签:

【中文标题】AVPlayer 不能与 AirPlay 一起使用【英文标题】:AVPlayer not working with AirPlay 【发布时间】:2015-01-29 04:33:43 【问题描述】:

我有一个 AVMutableCompositions 序列,我正在使用 AVPlayer 播放。当我通过扬声器、耳机或蓝牙播放时,一切都很好。但是,一旦我连接到 AirPlay,一切都崩溃了。

我可以播放一项资产,但我尝试切换到一项新资产,我收到 AVAudiosessionMediaServicesWereResetNotification 并且设备与 AirPlay 断开连接。我尝试将 AVMutableCompositions 导出到文件,然后使用 AVURLAssets,但这似乎没有任何改变。

有人知道这里发生了什么吗?看来我将无法支持 AirPlay...

我觉得我可以切换到 AVAudioPlayer,这可以解决问题,但我正在生成数十个 AVMutableComposition,并且不想将它们读取和写入磁盘。

【问题讨论】:

【参考方案1】:

这是违反直觉的,但请尝试设置

myPlayer.allowsExternalPlayback = NO;

文档对此并不完全清楚,但似乎这只会禁止视频播放。当我在我的应用程序(使用 AVPlayer)中执行此操作时,带有 AVComposition 的 Airplay 可以工作。甚至艺术品也能很好地显示(通过 MPNowPlayingInfoCenter)。

【讨论】:

你是对的。它只禁用视频,声音仍然在 Apple TV 上播放 我还可以确认它允许音频但禁用视频。你怎样才能做到让视频也能通过?

以上是关于AVPlayer 不能与 AirPlay 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

Airplay 不能与 Swift 的 AVRoutePicker 一起使用,但可以与 Objective C 一起使用

使用 AVPlayer 进行 Airplay?

使用 AVPlayer 的 Airplay 并不总是有效。 “iPhone”选项在 Airplay 菜单中列出两次

AVPlayer 的音频音量超过 Airplay?

使用 AVPlayer 的播放器控件中未显示 Airplay 按钮

AVPlayer / Airplay 按钮