在背景iOS中录制分块音频
我试图找出一种方法在iOS应用程序的后台录制音频,并将其传输到服务器。
我几乎得到了这个应用程序在前台时的工作。 我使用AVAudioRecorder记录输入X秒。 一旦我得到了这个完成的回调,我再记录X秒。 每个记录会话都存储到不同的文件,并将这些文件异步发送到服务器。
但是,这似乎并没有工作,而我的应用程序进入后台模式。
进入后台时,当前记录会话将继续录制,直到X秒钟结束,但是我的应用程序会暂停,然后才能开始另一个录制会话。
有任何想法吗?
以下是我的回调代码:
- (void)audioRecorderDidFinishRecording:(AVAudioRecorder *)aRecorder successfully:(BOOL)flag {
NSLog(@"hello");
[self initRecorder];
[recorder recordForDuration:5];
}
您无法在后台重新开始录制。
因此,请使用音频队列或音频单元RemoteIO API,这样可以在不停止音频录制的情况下为您提供更小的“块”(回调缓冲块)。
如果您的网络协议需要,将小音频回调块连接成更大的文件块。
后台音频播放支持多任务处理,但背景音频记录不太清晰。 但是,我没有尝试过。 音频单元API可以让您在应用程序处于后台时继续录制音频。 然而,这是一种诡计,我想可能会在某个时候被剔除。
链接地址: http://www.djcxy.com/p/79023.html上一篇: Recording Chunked Audio in Background iOS
下一篇: AudioQueueStart fail