使用AVPlayer播放音频不能在后台运行

And*_*icz 5 audio background ios avplayer airplay

我正在使用远程URL中的AVPlayer类进行音频播放.

如果我只是玩耳机/内置扬声器,它可以正常播放,但我看到AirPlay有些奇怪.

当我改为使用AppleTV播放AirPlay时,它会传输音频,但在我的iphone上,音频播放指示器(顶部菜单栏中的小"播放"三角形)消失,当我锁定电话而不是继续背景,它停止.(正常播放时,它在背景中播放很好).

为什么AVPlayer无法通过AirPlay在后台运行音频?

这是其他人看到的吗?有办法解决吗?

And*_*icz 10

好的 - 我挖掘了苹果开发论坛并找到了一个提示.

如果您仅将AVPlayer用于音频,并希望它在播放时在后台工作,则需要禁用该allowsAirPlayVideo设置.

显然,iOS 5+上的AVPlayer假设它正在通过AirPlay播放视频,因此不允许背景,除非您明确禁用视频AirPlay.

一旦你禁用了这个(即self.player.allowsAirPlayVideo = FALSE;),你的音频仍将通过AirPlay播放,但现在它不会被视为视频,仅视为音频,因此将允许后台工作.

  • 是的.只需使用`self.player.allowsExternalPlayback = NO;`. (4认同)
  • 对于iOS 7的任何解决方案,因为`allowAirPlayVideo`已被弃用? (3认同)