2012-08-06 67 views
0

我正在使用AudioRecorder Class在Android上进行录音应用程序,并已使用不同的采样率44100,32000,24000,16000和8000.采样率44100提供了高质量的音频,但它需要非常大的尺寸,但其他采样率会给出可接受的文件大小的坏音质量非常差的音频。如何提高android上的音频质量

之前你说可能重复的问题我已经看到下面的链接:

Link1

Link2

但提到链接是从问题不同。

我的问题是如何获得高质量的音频与小文件大小的采样率,如32000,24000和8000?

或者有没有办法将wav文件从大尺寸压缩到小尺寸?

我的代码示例:

tempbufferSize = AudioRecord.getMinBufferSize(16000,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT); 
........ 
mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,16000, AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT,tempbufferSize); 
mAudioRecord.startRecording(); 
..... 

我已经涉及过Link.

请帮助我。

+0

“如何改善Android的音频质量” - 获得一副新的耳机。 – 2012-08-06 13:02:26

+4

@ H2CO3,请与相关评论帮助。不要写这些类型无关的评论。请。 – 2012-08-06 13:09:19

回答

0

WAV是纯粹的未压缩音频数据,所以在不牺牲质量的情况下,文件大小将非常大。你可以使用MediaRecorder和setOutputFormat()

看录制MPEG4:

MediaRecorder

OutputFormat MPEG4

希望有所帮助

+0

其实,我看到你的问题中的链接2使用MediaRecorder。这不能解决你的问题吗? – gcb 2012-08-06 13:22:38

+0

我需要暂停并恢复音频录制的功能,这就是为什么我不继续使用MediaRecorder。可以在暂停和恢复时结合使用mp4文件吗?如果这是可能的,请告诉我一些样品?请看 – 2012-08-06 13:28:08

+0

我明白了。它具有启动和停止功能,但在呼叫停止后,您必须重新配置它,就好像您再次启动一样。您可以在每次会话后连接文件。另一种选择是在WAV中录制,然后在完成后使用JLayer将WAV文件转换为MP3。 JLayer:http://www.javazoom.net/javalayer/javalayer.html – gcb 2012-08-06 13:39:01