在 Android 中录制声音到达扬声器之前录制声音(录制声音,不使用麦克风)



所以这是交易,我有一个应用程序,你可以用它来制作音乐。你按下按钮,它会播放声音。目前,我正在使用默认的android api进行录音,它从扬声器中获取声音,通过麦克风录制,然后将其保存在内存中所需的任何格式。这个过程产生的*.mp3质量很差。

我想在声音到达扬声器之前捕捉到声音,然后录制下来。类似于无线电录音应用程序。任何想法和/或链接将不胜感激,谢谢!

您不能为此使用 MediaRecorder/AudioRecord,因为在 Android 中无法将音频输出指定为录音机的输入。收音机录音机的工作方式(如果您谈论的是FM收音机,而不是数字收音机)是添加了一个(非标准)输入设备,您可以从中读取来自FM收音机芯片的音频数据。至少有一些供应商这样做。

由于您只想保存应用程序(而不是手机上运行的任何应用程序)的输出,因此可以通过将发送到AudioTrack/MediaPlayer的所有音频同时写入文件来实现。如果同时播放多个声音,则可能必须先混合声音。如果您的声音不是原始 PCM,您还必须注意在您的应用程序中解码它们。

最新更新