Android MediaRecorder未使用AudioEncoder.AAC生成可流式传输的AAC-LC音频

时间:2013-04-20 19:18:22

标签: android audio-streaming audio-recording codec mediarecorder

我正在使用Android版本4.2+的Nexus 7。因此,根据Android Supported Media Formats,所有列出的编码器和容器格式都受支持。

现在我想使用AAC-LC encoderMPEG-4 container format(文件类型)录制音频。

在生成的文件中,当我在HEX-Editor中打开它时,我看到该文件是ISO Base Media file,其isom文件类型框(第4.3节)包含以下兼容品牌: isom3gp4。该文件的剩余部分主要是mdat Box(包含实际的音频数据)。文件开头的以下HEX片段告诉我:

00000018 66747970 69736F6D 00000000 69736F6D 33677034 00029708 6D646174 ...

翻译为:

      24 ftyp     isom     no-minor isom     3gp4     0x29708  mdat     ...

表示:

文件(ftyp)符合ISO / IEC 14496-12(isom)并且没有指定次要版本。与此文件兼容的品牌有:isom3gp4。然后跟随长度为0x29708

的音频数据框(mdat)

这部分告诉我这是一个AAC-LC(AAC低复杂度)编码文件?

此外,与web其标题(文件框)上的其他AAC-LC文件相比,提及mp42ftypmp42,{{1} },isom作为兼容品牌。这样的文件也是可流式传输的(AAC-LC应该如何)。

但Android生成的AAC_LC(MP4)文件不可流式传输。那么Android MediaRecorder或我做错了什么?我使用以下代码:

ndia

0 个答案:

没有答案