安卓AudioRecord和MediaRecorder(Android AudioRecord an

2019-08-01 05:57发布

我发展,我需要录制音频,然后对其进行处理,以获得记录的特征的音频处理应用。 不过,我想在播放格式的音频用的MediaPlayer后进行播放。

我已经看到了录制音频处理它,最好使用AudioRecord,因为我可以从那里得到的原始音频。 但我不能将数据写入一个文件播放格式(有没有图书馆在android系统做到这一点?)。

我用这个方法来记录原始数据,然后将其写入文件: http://andrewbrobinson.com/2011/11/27/capturing-raw-audio-data-in-android/但是当我尝试播放此文件在设备上,它是不能播放。

然后,如果我使用MediaRecorder我不知道如何对数据进行解码,以提取特征。 我一直在寻找MediaExtractor,但它的接缝MediaExtractor不解码帧。

所以..什么是做到这一点的最好方法是什么? 我想这是任何音频处理应用普遍,但我没能找到管理这种方式。

感谢您的答复。

Answer 1:

使用AudioRecord是,如果你需要做任何处理,以正确的方式去。 要播放它,你有几个选项。 如果你只打算打回你的应用程序 ,你可以使用AudioTrack代替MediaPlayer播放原始的PCM流。

如果你希望它是可玩与其他应用程序,你需要将它转化成别的东西第一。 WAV通常是最简单的,因为你只需要添加标题 。 您还可以找到库转换为其他格式,如JOrbis对OGG,或JLayer对于MP3等



Answer 2:

为了获得最佳的结果,你必须使用AudioRecord类,而不是MediaRecorder。
请看看下面的链接:
极品音频录制一个简单的例子

也可以看看这个链接: http://i-liger.com/article/android-wav-audio-recording



Answer 3:

如果您使用AudioRecord对象来获得原始音频信号,下一步要保存它保存为可播放文件也不是那么难,你只需要你捕获音频数据之前添加WAV头,那么你得到一个.wav文件你可以发挥它在大多数手机。

.wav文件是RIFF格式下的文件。 为WAV文件的RIFF报头是44个字节长,并且包含采样率,采样宽度和通道数的信息。 你可以从详细的信息在这里

我做Android手机的样品的功能和它的工作。



文章来源: Android AudioRecord and MediaRecorder