2016-07-23 26 views
1

參考文檔https://developer.apple.com/library/ios/qa/qa1668/_index.html, 我修改了info.plist以支持HLS流在後臺播放,並在應用處於後臺時刪除/恢復AVPlayer應用程序進入後臺/使用應用程序委託事件(應用程序:應用程序didBecomeActive和應用程序:didEnterBackground)來到前臺,確保代碼得到執行,因爲我可以看到日誌。但是,當我通過在實際設備上按Home鍵導航出來時,Airplay停止。另外,我在AVPlayer的rate屬性中添加了KVObserver,速率爲1,而應用程序被最小化。 我注意到的一件事是在模擬器上使用相同的一段代碼,如果我模擬家庭按鍵(cmd + shift + h),視頻的音頻可以聽到,而我在應用程序之外,而它停止在實際設備。難道我做錯了什麼?配置AirPlay在蘋果電視上播放AVPlayer上的視頻,同時應用在後臺播放

回答

1

不得不把方法:

[[AVAudioSession sharedInstance] setDelegate: self];  
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 

在應用程序的委託,以爲他們只是爲音頻流,但對於視頻以及所需要的多任務處理,這解決了問題。

+1

您可以忽略設置委託的第一行,因爲它現在在iOS 10中已被棄用。此外,模擬器對於測試不可靠,所以您應該使用實際設備。我還要確保在項目設置 - >功能 - >背景模式中選中第一項「音頻,Airplay和圖片中的圖片」 – xdeleon