Android AudioTrack和AudioRecord奇怪的行为

Android AudioTrack和AudioRecord奇怪的行为,android,audiorecord,audiotrack,android-audiorecord,Android,Audiorecord,Audiotrack,Android Audiorecord,我创建了音频轨迹和录音对象,并试图将麦克风声音传回扬声器 为此,我创建了一个任务,从音频录制任务中“读取”音频数据,然后“写回”音频曲目。它似乎工作得很好。然而,在玩这个应用程序时,我尝试了一些数据操作,我了解到复制音频曲目数据并将其写回的任务实际上什么也做不了——我删除了它,只保留了两行内容: audioRecord.startRecording(); audioTrack.play(); 无读取或写入-应用程序继续工作,即麦克风数据回显到扬声器!实际上,我试图执行的所有读写

我创建了音频轨迹和录音对象,并试图将麦克风声音传回扬声器

为此,我创建了一个任务,从音频录制任务中“读取”音频数据,然后“写回”音频曲目。它似乎工作得很好。然而,在玩这个应用程序时,我尝试了一些数据操作,我了解到复制音频曲目数据并将其写回的任务实际上什么也做不了——我删除了它,只保留了两行内容:

    audioRecord.startRecording();
    audioTrack.play();
无读取或写入-应用程序继续工作,即麦克风数据回显到扬声器!实际上,我试图执行的所有读写操作似乎都被忽略了

其他一些意想不到的行为:

我试图停止这个过程,但调用
AudioTrack.stop()
AudioTrack.pause()
-什么都没有发生,停止音频的唯一方法是调用
AudioRecord.stop()
,但是在弯下
AudioRecord
后,我无法重新启动它

还有其他人也经历过吗?有人有解决办法吗?
有人能解释一下安卓
AudioTrack
AudioRecord
的这种奇怪行为吗?

当您想停止AudioTrack时,这三行应该对您有用

audioTrack.flush();
audioTrack.stop();
audioTrack.release();

我的主要问题是,为什么这种奇怪的未记录行为会在麦克风和扬声器之间产生直接的内部连接,而没有任何方式来控制它。