我正在使用以下伪代码使用 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?如果是这样怎么办?