我正在使用以下伪代码来使用audioRecord获取音频并将其播放为audioTrack,例如助听器项目。
your_audio_thread_run()
{
declare audio buffer
create AudioRecord
create AudioTrack
start both
while(1)
{
capture mic to buffer
write buffer to output track
}
}
如果我错了,请纠正我:audioRecord和audioTrack是在同一个线程上创建的,所以当使用audioRecord捕获音频时,your_audio_thread_run将会阻塞,并且必须等到缓冲区被填满。我对吗?在这种情况下,音频输出到audioTrack会有延迟。
我应该使用2个线程,一个用于audioRecord而另一个用于audioTrack?如果是这样的话?