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

3
所以,这里是要解决的问题:我有一个可以用来制作音乐的应用程序。你按下按钮它就会播放声音。目前我正在使用默认的Android API进行音频录制,即从扬声器获取声音,通过麦克风录制,并将其保存到内存中的任何格式中。但是这个过程会产生质量非常差的MP3文件。
我想在声音到达扬声器之前捕获它并进行录制。就像收音机录音应用程序一样。如果您有任何想法和/或链接,将不胜感激,谢谢!

我认为它已经在最近的两个Android版本中添加了,你应该查看一下发布说明。 - Teovald
应用程序的想法是为低端开发者提供易于访问的功能,要求2.1+版本。这对我没有什么好处,但谢谢,我可能会查看它以备将来之需。 - Иво Недев
我们很快就会进入2.x分支开始衰落,4.x成为市场份额主要分支的时期,因此基于新的4.x API进行开发并不是完全没有意义的。谷歌提供兼容库,以便能够在旧版本的Android中使用新的开发,但我真的怀疑是否有这么低层次的东西。 - Teovald
1个回答

2
您无法使用MediaRecorder / AudioRecord来完成此操作,因为在Android中没有办法将音频输出指定为记录器的输入。如果您正在谈论FM收音机而不是数字电台,则广播记录器的工作方式是添加了(非标准)输入设备,您可以从中读取来自FM收音机芯片的音频数据。至少一些供应商会这样做。
由于您想保存您的应用程序的输出(而不是手机上运行的任何应用程序),因此可以通过同时将您发送到AudioTrack / MediaPlayer的所有音频写入文件来实现。如果同时播放多个声音,则可能必须先混合声音。如果您的声音不是原始PCM,则还必须在您的应用程序中进行解码处理。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接