2009-09-17 69 views

回答

18

用于记录和监控:您可以使用录音机活动。 下面是一个代码片段:

Intent recordIntent = new Intent(
       MediaStore.Audio.Media.RECORD_SOUND_ACTION); 
      startActivityForResult(recordIntent, REQUEST_CODE_RECORD); 

有关如何录制音频,其中包括输入监视,下载开源Ringdroid项目一个完美的工作示例:https://github.com/google/ringdroid

看截图,你会看到显示器。

为了使音频质量更高,您需要更好的麦克风。内置的麦克风只能捕获很多(这不太好)。再看看ringdroid项目,从那里收集一些信息。此时您可以实施一些标准化和放大程序来改善声音。

+0

什么是REQUEST_CODE_RECORD? – 2011-10-21 11:40:48

+0

一个局部常量,用于确定从onActivityResult()的哪个请求返回哪个结果。 – 2011-10-26 18:09:27

30

目前,Android上音质记录质量​​差的一个重要原因是MediaRecorder类(AMR-NB编解码器)使用的编解码器。但是,您可以通过AudioRecord类访问未压缩的音频,并将其直接记录到文件中。

Rehearsal Assistant app这样做是为了将未压缩的音频保存为WAV文件 - 请参阅RehearsalAudioRecord类源代码。

RehearsalAudioRecord类还提供了一个getMaxAmplitude方法,您可以使用该方法来检测自上次调用方法(MediaRecorder也提供此方法)以来的最大音频级别。

+0

你好,Stjepan Rajko,在排练助理应用程序,我找不到,org.urbanstew.VolumeEnvelopeView,你能告诉我它在哪里吗? – pengwang 2010-10-31 14:44:20

+0

其他编解码器也可以在Android中使用它们http://developer.android.com/reference/android/media/MediaRecorder.AudioEncoder.html#DEFAULT – 2013-02-14 03:00:08