我正在使用 Android MediaRecorder 来录制 AAC 编码的音频文件。将输出格式设置为 MPEG-4 效果很好。但由于我的音频播放器既不支持 MPEG-4 也不支持 3GP,我尝试使用输出格式AAC_ADTS获取原始 AAC 文件,Android 自 API 级别 16 起就支持该格式。
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS);
mRecorder.setOutputFile(mFileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
Run Code Online (Sandbox Code Playgroud)
这是我卡住的地方。MediaRecorder 创建了一个文件,但我无法使用任何播放器播放该文件(Android 的 MediaPlayer、Windows Media Player 和我上面提到的音频播放器都无法播放,它能够播放我在网上找到的 ADTS AAC 文件) .
难道我做错了什么?AAC_ADTS 输出格式甚至是值得推荐的格式吗?有没有办法获得 ADIF AAC 文件?