录制/播放声音时音质不佳 - Android SDK

Nic*_*ck3 7 android android-emulator audiorecord

当我尝试录制然后播放刚刚录制的文件时,我遇到了问题.我可以录制和播放声音,但质量很糟糕.它不仅仅是坏的,很难听,听起来有点像计算机生成的声音.我使用andriod SDK-emulator.设置录音的代码如下所示;

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();
Run Code Online (Sandbox Code Playgroud)

以后播放文件的代码看起来像这样;

MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(path);
mp.prepare();
mp.start();
Run Code Online (Sandbox Code Playgroud)

我不知道是什么部分使音频文件听起来非常糟糕,或者它只是模拟器使它变坏并且它可以在真正的手机上工作.

Moh*_*wal 5

试试这些

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);   
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);     
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);   
recorder.setAudioChannels(2);
recorder.setAudioEncodingBitRate(128);
recorder.setAudioSamplingRate(44100);
Run Code Online (Sandbox Code Playgroud)

如果您发现此代码在低端android设备上崩溃,请尝试删除setAudioChannels和setAudioSamplingRate。


And*_*oni 1

您正在谈论两个不同的对象,AudioRecorder 和 MediaRecorder。