2012-01-10 114 views
10

我已經使用AVPlayer實現音頻播放,播放遠程mp3網址。MPNowPlayingInfoCenter nowPlayingInfo通過AirPlay忽略AVPlayer音頻

我想使用MPNowPlayingInfoCenternowPlayingInfo方法顯示有關當前播放音頻的信息。

當我鎖定屏幕時,確實看到了我設置的圖像和標題,所以我知道這種方法是以某種方式註冊信息,但是當我將AirPlay切換到AppleTV時,顯示器看起來像通用視頻輸出,進度條在底部,但正確顯示了經過的時間和持續時間。

如果我設置了相同的nowPlayingInfo,但是使用AudioQueue啓動一些音頻,那麼它會在屏幕的一半上正確顯示圖像(它看起來就像是用iPod/Music應用程序播放播客)。

這僅僅是AirPlay對使用AVPlayer的音頻支持的限制,還是有一些方法可以讓它正確顯示圖像和信息?

回答

13

好的 - 我通過蘋果開發論壇挖掘,發現一個提示。

如果使用AVPlayer純音頻,並希望它在後臺工作,而這樣做的AirPlay,你需要禁用allowsAirPlayVideo設置。

顯然,iOS 5+上的AVPlayer假定它通過AirPlay播放視頻,因此不允許後臺播放,除非您明確禁用視頻AirPlay。

一旦您禁用此功能(即self.player.allowsAirPlayVideo = NO;),您的音頻仍然會通過AirPlay播放,但現在它會正確顯示類似音頻/ iPod的界面。

+0

如果我添加'player.allowsExternalPlayback = FALSE'沒有視頻或聲音通過AirPlay的存在:( – anitteb 2018-02-21 12:01:08

4

如果你在iOS7你要禁止外部回放:

self.player.allowsExternalPlayback = NO;