1

我使用 AudioRecord 和 AudioTrack 播放从麦克风输出到扬声器的声音。但是实时播放会产生声音回声。我只需要播放 MIC 声音而不是 android 系统播放的声音(在这种情况下是 MIC AudioTrack这是第二次播放)。

            recorder = new AudioRecord(AudioSource.MIC, 44100,
                AudioFormat.CHANNEL_IN_MONO,
                AudioFormat.ENCODING_PCM_16BIT, N * 2);
        track = new AudioTrack(AudioManager.STREAM_MUSIC, 44100,
                AudioFormat.CHANNEL_OUT_MONO,
                AudioFormat.ENCODING_PCM_16BIT, N * 2,
                AudioTrack.MODE_STREAM);

如何在 android 中隔离麦克风声音输出并在不播放整个 android 声音的情况下播放它(在 android 设备中播放的其他声音,例如音乐播放器播放的音乐、通知声音等)

PS:在对hotpaw2 的这个 stackoverflow qs 的评论进行一些研究后发现了这个评论:

The latency on most Android devices between record and play is reported to be fairly  high, such that the user would hear a delayed echo unless isolated from any sound going  into the mic.
4

0 回答 0