我正在使用MediaRecorder录制音频。
我正在设置所需的参数如下:
private void startRecording() {
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_RECOGNITION);
mRecorder.setAudioChannels(1); // Mono channel - my requirement
mRecorder.setAudioSamplingRate(8000); // 8Khz - my requirement
mRecorder.setAudioEncodingBitRate(16000); // 16 kbps - my requirement
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mRecorder.setOutputFile(MY_FILE_NAME);
mRecorder.prepare();
mRecorder.start();
}
录制的音频很好,我的SD卡上创建了mp4文件,当我在Android设备上播放文件时播放效果很好。然而,当我在PC上播放文件时,语音会在每2到3秒之间快速转发毛刺。但是如果我使用立体声即。 2个频道,然后歌曲在PC上播放也很好。
当我在PC上检查录制的音频文件的属性时,我得到以下值:
频道:立体声
采样率:16000 Hz
比特率:96 kbps
当我尝试在Windows机器上的Windows媒体播放器,Ubuntu上的电影播放器上播放该文件时,我遇到问题,即使在Mac机器上,该文件也无法正常播放。我正在Micromax A116上安装Android版本4.1.2和三星Galaxy Note版本4.1.2。
感谢任何帮助。
答案 0 :(得分:0)
只需将文件THREE_GPP
和Audioencoder
为AMR_NB