我使用AVPlayer实现了音频播放,播放了一个远程mp3网址。
我想使用MPNowPlayingInfoCenter
nowPlayingInfo
方法显示有关当前播放音频的信息。
当我锁定屏幕时,我确实看到了我设置的图像和标题,所以我知道这种方法是以某种方式注册信息,但当我切换到AirTV到AppleTV时,显示看起来像一般视频输出,底部有进度条,但正确显示已用时间和持续时间。
如果我设置相同的nowPlayingInfo
,然后使用AudioQueue启动一些音频,那么它会在屏幕的一半上正确显示图像(看起来就像使用iPod /音乐应用播放播客一样)。 / p>
这仅仅是使用AVPlayer对AirPlay音频支持的限制,还是有一些方法可以让它正确显示图像和信息?
答案 0 :(得分:14)
好的 - 我在apple dev论坛上挖了一个提示。
如果您仅将AVPlayer用于音频,并希望它在播放时在后台工作,则需要禁用allowsAirPlayVideo
设置。
显然,iOS 5+上的AVPlayer假设它正在通过AirPlay播放视频,因此不允许背景,除非您明确禁用视频AirPlay。
禁用此功能后(即self.player.allowsAirPlayVideo = NO;
),您的音频仍将通过AirPlay播放,但现在它将正确显示音频/ ipod界面。
答案 1 :(得分:5)
如果您使用的是iOS7,则必须禁用外部播放:
self.player.allowsExternalPlayback = NO;