我正在使用 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();
}
音频录制良好,mp4 文件在我的 SD 卡上创建,当我在我的 android 设备上播放文件时它播放正常。但是,当我在 PC 上播放文件时,声音会在每 2 到 3 秒之间快速转发一次,但如果我使用立体声即。 2 个 channel ,然后歌曲在 PC 上也能正常播放。
当我在 PC 上检查录制的音频文件的属性时,我得到以下值:
Channels : Stereo
Sample rate : 16000 Hz
BitRate : 96 kbps
当我尝试在 Windows 机器上的 Windows 媒体播放器、Ubuntu 上的电影播放器上播放该文件时,我遇到了问题,即使在 Mac 机器上,文件也无法正常播放。我在 Android 4.1.2 版的 Micromax A116 和 4.1.2 版的三星 Galaxy Note 上录制文件。
感谢任何帮助。
最佳答案
只需制作该文件 THREE_GPP
和 Audioencoder
作为 AMR_NB
关于android - 在 Android 中使用 MediaRecorder 录制的音频文件无法在 PC 上正常播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817734/