7

我試圖啓動一個kAudioSessionCategory_RecordAudio我的應用程序被喚醒後向上的背景,但不是最前列(如顯著位置變化過程中,我所看到的其他應用程序在店裏做,所以我知道這是可能的)。然而,每當我嘗試啓動像這樣如何在後臺啓動記錄iOS音頻會話?

CheckError(AudioQueueStart(queue, NULL), "AudioQueueStart failed");

音頻會議上,我得到這個錯誤:

Error: AudioQueueStart failed (-12985)

於是我閱讀了關於這一點,但唯一的建議是音頻會話設置爲活動AudioSessionSetActive(YES)但這也失敗,出現'!cat'錯誤。顯然你可以嘗試切換音頻會話的活動狀態,但這不適合我。

我有背景音頻模式的plist標誌設置,雖然我的應用程序是最前沿,然後切換到其他應用工程啓動音頻會議(顯示紅色條顯示,它是記錄)。它只是開始音頻會議,而應用程序不是最前沿的問題。

有沒有人有示例項目我可以看看演示在後臺開始錄製音頻會話嗎?

注:我在尋找一個使用音頻隊列,因爲我需要在緩衝區中的音頻,而不是文件的解決方案。

回答

4

事實證明,如果您只是將音頻多任務標記添加到info.plist並添加適當的重要位置更改API,Apple的SpeakHere示例代碼將進行一些修改並開始在後臺錄製音頻。您可能會看到https://github.com/benvium/SpeakHere爲SpeakHere的更新版本,因爲Apple尚未更新它在一段時間。

+0

什麼是音頻多任務標誌?請解釋 – Nil

-1

目前的iOS不允許在後臺啓動一個音頻會話或錄音。應用程序必須在前臺啓動音頻,但可以放棄任何錄製的音頻數據,直到需要爲止,這可能在使用適當的背景模式和音頻會話時位於後臺。

+2

如何像一個局面GPS導航工作的地方不是當前發言方向則用戶切換到音樂應用程序和播放音樂,直到GPS導航應用程序的應用程序講一個新的方向,則音樂應用程序接管再次發言。我假設你可以開始播放,而你的應用程序在後臺,你可以開始記錄。 – audioBackgrounder

+0

@ hotpaw2,「睡眠通話記錄器」的實時應用程序完美地工作和支持在後臺記錄整天。所以應該有一種方法可以在後臺錄製一整天。這裏是現場應用聯動:https://itunes.apple.com/en/app/sleep-talk-recorder/id391767653?mt=8 – Jacky

+0

也許這些應用程序使他們的音頻會議的前景與之前進入後臺時一整天。 – hotpaw2