我创建了 Audio Track 和 Audio Recorder 对象,并试图将麦克风的声音传回扬声器。
为此,我创建了一个任务,从音频记录任务“读取”音频数据并将其“写回”到音频轨道。它似乎工作正常。然而,在玩这个应用程序尝试一些数据操作时,我了解到这个复制音轨数据并写回来的任务实际上什么都不做——我删除了它,只保留了两行:
audioRecord.startRecording();
audioTrack.play();
没有读取或写入 - 应用程序继续工作- 即麦克风数据回显到扬声器!在实践中,我试图执行的所有读写操作似乎都被忽略了!
其他一些意想不到的行为:
我试图停止这个过程购买呼叫AudioTrack.stop()
或AudioTrack.pause()
- 没有任何反应,停止音频的唯一方法是通过呼叫AudioRecord.stop()
,但是在弯腰之后AudioRecord
我找不到重新启动它的方法。
有没有其他人也经历过这种情况?有没有人有办法解决吗?任何人都可以解释 Android 的这种奇怪行为AudioTrack
吗AudioRecord
?