[英]Multipeer Connectivity audio streaming stop work on background
我正在使用iOS 7的Multipeer Connectivity
框架進行一些音頻流。 流式傳輸效果很好,但是當我將應用程序放在后台時它會停止工作。
有人可以告訴我這是否是一個框架限制,或者我做錯了什么?
並且,如果它是一個框架限制,是否有可能做一些事情來避免這種情況?
我可以使用后台任務,保持流媒體和音樂在后台運行嗎?
這可能嗎? 如果不可能,那么在iOS設備之間是否存在MultiPeer
音頻流的任何替代方案?
我正在使用這個例子: https : //github.com/tonyd256/TDAudioStreamer 。
在此頁面上解釋: http : //robots.thoughtbot.com/streaming-audio-to-multiple-listeners-via-ios-multipeer-connectivity 。
非常感謝!
在Apple文檔中,用於在后台播放音頻 (向下滾動一下)。 一些相關段落:
當UIBackgroundModes鍵包含音頻值時,系統的媒體框架會自動阻止相應的應用程序在移動到后台時被掛起。 只要播放音頻或視頻內容或錄制音頻內容,該應用程序將繼續在后台運行。 但是,如果錄制或播放停止,系統將暫停該應用程序。
您可以使用任何系統音頻框架來處理背景音頻內容,並且使用這些框架的過程保持不變。
這意味着只要您已正確配置應用程序以在后台播放音頻,iOS就會識別出您正在通過Core Audio播放音頻並保持應用程序不被暫停。
由於您的應用在播放媒體文件時未暫停,因此當您的應用處於后台時,回調功能會正常運行。 但是,在回調中,您應該只做提供播放數據所需的工作。 例如,流音頻應用程序需要從其服務器下載音樂流數據並將當前音頻樣本推出以進行回放。 應用程序不應執行與播放無關的任何無關任務。
只要您的應用仍在播放音頻,您就應該能夠正常運行,並且可以執行所需的操作以繼續播放音頻。 這意味着您應該能夠在后台繼續使用MPC來接收音頻數據並進行播放。
請務必閱讀有關該主題的完整文檔,尤其是有關音頻會話的文檔。
當iOS設備被用戶覆蓋時,它們會出於明確的目的獲得有限的cpu周期。
根據Apple關於多任務處理和后台執行的文檔 ,支持以下類型的應用程序,但必須明確聲明:
您的案例屬於在Apps that play audible content to the user while in the background, such as a music player app
。 您可以從上面提供的鏈接中找到更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.