簡體   English   中英

Multipeer Connectivity音頻流停止在背景上工作

[英]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關於多任務處理和后台執行的文檔 ,支持以下類型的應用程序,但必須明確聲明:

  • 在后台播放用戶可聽內容的應用,例如音樂播放器應用
  • 在后台錄制音頻內容的應用程序。
  • 隨時向用戶通知其位置的應用,例如導航應用
  • 支持互聯網協議語音(VoIP)的應用
  • 需要定期下載和處理新內容的應用
  • 從外部配件接收定期更新的應用程序

您的案例屬於在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM