MPNowPlayingInfoCenter nowPlayingInfo通过AirPlay忽略AVPlayer音频

时间:2012-01-10 17:56:46

标签: ios audio avplayer airplay mpnowplayinginfocenter

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

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

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

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

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

2 个答案:

答案 0 :(得分:14)

好的 - 我在apple dev论坛上挖了一个提示。

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

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

禁用此功能后(即self.player.allowsAirPlayVideo = NO;),您的音频仍将通过AirPlay播放,但现在它将正确显示音频/ ipod界面。

答案 1 :(得分:5)

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

self.player.allowsExternalPlayback = NO;