13

我已经使用 AVPlayer 实现了音频播放,播放远程 mp3 url。

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

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

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

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

4

2 回答 2

15

好的 - 我翻遍了苹果开发论坛并找到了一个提示。

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

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

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

于 2012-01-10T18:55:20.650 回答
7

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

self.player.allowsExternalPlayback = NO;

于 2014-01-14T14:53:01.557 回答