录制 .m4a 文件 Android

Posted

技术标签:

【中文标题】录制 .m4a 文件 Android【英文标题】:Record .m4a file Android 【发布时间】:2012-09-19 16:38:51 【问题描述】:

如何在 android 2.2 中使用 MediaRecorder 录制 M4A 音频 文件? 我需要设置什么输出格式、编码器和采样率?

我需要从麦克风录制并保存在 SDCARD 中

更新

我试过这段代码,但结果无效(例如不能在浏览器中播放):

recorder = new MediaRecorder();
recorder.setAudiosource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); // error here ?!?
recorder.setAudioSamplingRate(96000); // what value ?

【问题讨论】:

【参考方案1】:

这些代码用于生成 m4a 文件:

    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);

    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

    mRecorder.setAudioChannels(1);
    mRecorder.setAudioSamplingRate(44100);
    mRecorder.setAudioEncodingBitRate(96000);
    mRecorder.setOutputFile(absFilePath);// must have an .m4a extension

【讨论】:

【参考方案2】:

试试这个,改变

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

【讨论】:

【参考方案3】:

试试下面的链接

how can i record audio file as .m4a format?

http://www.benmccann.com/blog/android-audio-recording-tutorial/

这可能会对你有所帮助。

【讨论】:

我已经设置了 MediaRecorder.OutputFormat.MPEG_4。第二个链接是关于 3GP 格式。为什么如果我尝试从浏览器读取它(从 sdcard 导出后)它不起作用? VLC 也无法播放,而 Android 播放器工作!!!

以上是关于录制 .m4a 文件 Android的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioRecorder 录制 AAC/m4a

如何在android中录制音频m4a格式的音频文件?

iOS - 录制 mp4 文件

Swift AVAudioPlayer 不会播放用 AVAudioRecorder 录制的音频

如何将 WAV 文件转换为 M4A?

如何将M4A格式转换成MP3格式?