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

时间:2012-10-11 11:24:14

标签: android

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

我希望在声音到达扬声器之前捕捉声音并然后录制它。像收音机录音应用程序。任何想法和/或链接将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

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

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