我使用下面的代码生成了aac音频文件。文件在我的窗户机器上播放得很好。但它不能在我的安卓设备上使用MediaPlayer播放。我应该怎么做才能使该文件在android设备上播放?谢谢!
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setAudioEncodingBitRate(16 * 44100);
recorder.setAudioSamplingRate(44100);
recorder.setAudioChannels(2);
recorder.setOutputFile(mTempFile.getAbsolutePath());发布于 2016-12-30 07:35:36
“Android能播放ADTS AAC文件吗?”
没有默认的应用程序。只有在你编写这样一个应用程序的时候。使用MediaCodec API手动将每个aac帧的字节发送到解码器。
如果您能够处理字节,并且熟悉aac框架结构,那么请将其作为起点进行检查:
Decoding AAC using MediaCodec API on Android
PCM -> AAC (Encoder) -> PCM(Decoder) in real-time with correct optimization
“但是它不能用MediaPlayer在我的安卓设备上播放.我应该怎么做才能使该文件在安卓设备上播放?”
aac数据必须存在于容器格式中,如m4a或mp4。
MediaPlayer (奇怪的是)不播放原始的aac数据,但不期望包含原始的mp3。
注意:
当放置在上面的一个文件中时,您将丢失每个帧的ADTS头(因为该信息现在将存在于容器元数据的其他部分中)。
https://stackoverflow.com/questions/41390192
复制相似问题