android录音并上传,文件被损坏

一:android录制音频

代码如下:

if (mMediaRecorder == null) {
    mMediaRecorder = new MediaRecorder();
}
try {
    mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 设置麦克风
    /*
     * ②设置输出文件的格式:THREE_GPP/MPEG-4/RAW_AMR/Default THREE_GPP(3gp格式
     * ,H263视频/ARM音频编码)、MPEG-4、RAW_AMR(只支持音频且音频编码要求为AMR_NB)
     */
    mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    /* ②设置音频文件的编码:AAC/AMR_NB/AMR_MB/Default 声音的(波形)的采样 */
    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
    mMediaRecorder.setOutputFile(VOICE_FILE_PATH);
    mMediaRecorder.prepare();
    mMediaRecorder.start();
} catch (IOException e) {
    e.printStackTrace();
}

 

我在做语音聊天功能,a录制一段语音,发送给b,b能正常下载,下载的文件大小和a录制的文件大小一样,录制的文件是m4a格式,a在本地能正常播放,b下载后无法播放,包括酷我音乐,手机自带的音乐播放器也无法播放,提示文件已损坏。上传文件的接口是app统一的上传接口,和图片是同一个接口。请问语音上传时,是不是需要额外设置一些参数,为什么出现上传后文件就损坏的问题呢?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^