MPNowPlayingInfoCenter nowPlayingInfo通过AirPlay忽略AVPlayer音频

And*_*icz 12 audio ios avplayer airplay mpnowplayinginfocenter

我已经使用AVPlayer实现了音频播放,播放了一个远程mp3网址.

我想使用该MPNowPlayingInfoCenter nowPlayingInfo方法显示有关当前播放音频的信息.

当我锁定屏幕时,我确实看到了我设置的图像和标题,所以我知道这种方法是以某种方式注册信息,但是当我将AirPlay切换到AppleTV时,显示器看起来像一个通用的视频输出,底部的进度条,但正确显示已用时间和持续时间.

如果我设置相同nowPlayingInfo,但然后使用AudioQueue启动一些音频,那么它会在屏幕的一半上正确显示图像(它看起来就像播放iPod /音乐应用程序的播客一样).

这仅仅是使用AVPlayer对AirPlay支持音频的限制,还是有一些方法可以让它正确显示图像和信息?

And*_*icz 14

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

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

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

一旦你禁用它(即self.player.allowsAirPlayVideo = NO;),那么你的音频仍将通过AirPlay播放,但现在它将正确显示音频/ ipod界面.


Rém*_*rin 7

如果您使用的是iOS7,则必须禁用外部播放:

self.player.allowsExternalPlayback = NO;