android - 在 Android 中使用 MediaRecorder 录制的音频文件无法在 PC 上正常播放

标签 android audio mediarecorder android-mediarecorder

我正在使用 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_GPPAudioencoder 作为 AMR_NB

关于android - 在 Android 中使用 MediaRecorder 录制的音频文件无法在 PC 上正常播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817734/

相关文章:

android - 寻找角色的坐标?

java - MediaRecorder 切断文件结尾

php - $ _GET参数未通过php

Android MediaRecorder 采样率和噪声

java - 单击 : Method can not be found

java - 在外接圆的中心显示标记

android - 使用 MultiChoiceItems 的 AlertDialog ListView 中的额外空间

Android,访问内部声音文件作为资源 ID

android - MediaRecorder:启动失败

java - Android media.AudioTrack.finalize 抛出 IllegalStateException : Binder has been finalized