[英]Recording Chunked Audio in Background iOS
我試圖找出一種在iOS應用程序的后台錄制音頻並將其流式傳輸到服務器的方法。
當應用程序處於前台時,我幾乎得到了這個功能。 我使用AVAudioRecorder記錄X秒的輸入。 一旦我得到完成的回調,我再記錄X秒。 每個記錄會話都存儲到不同的文件中,我將這些文件異步發送到服務器。
但是,當我的應用程序進入后台模式時,這似乎不起作用。
當進入后台時,當前記錄會話繼續記錄,直到X秒開始,但是我的應用程序被暫停,然后才能開始另一個記錄會話。
有任何想法嗎?
這是我的回調代碼:
- (void)audioRecorderDidFinishRecording:(AVAudioRecorder *)aRecorder successfully:(BOOL)flag {
NSLog(@"hello");
[self initRecorder];
[recorder recordForDuration:5];
}
您無法在后台重新開始錄制。
因此,請使用音頻隊列或音頻單元RemoteIO API,這將為您提供較小的“塊”(回調緩沖區塊)音頻,而無需停止錄音。
如果您的網絡協議需要,將小型音頻回調塊連接成更大的文件塊。
多任務支持背景音頻播放,但背景音頻錄制不是很清楚。 但是,我還沒試過。 當應用程序在后台時,Audio Unit API可能允許您繼續錄制音頻。 然而,這是一種技巧,我想想它可能會在某些時候被拉出來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.