gpt4 book ai didi

android - Android 可以播放 ADTS AAC 文件吗?

转载 作者:搜寻专家 更新时间:2023-11-01 09:38:30 24 4
gpt4 key购买 nike

我使用下面的代码生成了一个 aac 音频文件。该文件在我的 Windows 机器上播放良好。但它不能在我的 android 设备上使用 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());

最佳答案

"Can Android play a ADTS AAC file?..."

不适用于默认应用程序。仅当您编写这样的应用程序时。使用 MediaCodec用于手动将每个 aac 帧的字节发送到解码器的 API。

如果你可以处理字节并且熟悉 aac 帧结构,那么检查这些作为起点:

Decoding AAC using MediaCodec API on Android

PCM -> AAC (Encoder) -> PCM(Decoder) in real-time with correct optimization

"But it cannot be played on my android device using a MediaPlayer... What should I do to make the file playable on a android device?..."

aac 数据必须存在于容器 格式中,例如m4amp4
MediaPlayer (奇怪的是)不播放原始 aac 数据,但不希望包含原始 mp3

注意:
当放置在上述其中一个中时,您将丢失每个帧的 ADTS header (因为该信息现在将存在于容器元数据的其他部分中)。

关于android - Android 可以播放 ADTS AAC 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41390192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com