在哪里可以找到MediaCodec.createDecoderByType中使用的类型的完整列表(字符串类型)?
谷歌文件只给出一个部分列表。
更新2015-06-03
根据pskink的提示,我运行了一段代码,在华硕MeMO平板上提取所有解码者的MIME类型。这是清单
video/avc
video/3gpp
video/mp4v-es
audio/3gpp
audio/amr-wb
audio/mp4a-latm
audio/flac
audio/mp4a-latm使用fadden建议的方法(亚行shell cat /system/etc/media_codecs.xml),我得到以下信息
<MediaCodec name="OMX.WMT.decoder.h263" type="video/3gpp" >
<Quirk name="requires-allocate-on-output-ports" />
</MediaCodec>
<MediaCodec name="OMX.WMT.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-output-ports" />
</MediaCodec>
<MediaCodec name="OMX.WMT.decoder.mpeg2v" type="video/mpeg2" >
<Quirk name="requires-allocate-on-output-ports" />
</MediaCodec>
<MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg" />
<MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp" />
<MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb" />
<MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" />
<MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw" />
<MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw" />
<MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis" />
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" />
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" />
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" />
<MediaCodec name="OMX.google.vpx.decoder" type="video/x-vnd.on2.vp8" />
现在,我怀疑并不是所有在media_codecs.xml中声明的解码器都被实际实现了。
2015年更新-06-13
@fadden提供的非常有用的信息:
CDD第5.1.1至5.1.3节“视频编解码器”列出了所有安卓设备需要支持的所有音频、图像和视频编解码器。我不知道有多少设备符合这一要求。我的两个Android设备错过了许多所需的编解码器。
发布于 2015-06-03 10:01:02
编解码器列表完全依赖于特定的设备。您必须使用MediaCodecList来枚举所有可用的编解码器,并为正确的代码调用MediaCodec.createDecoderByType。
https://stackoverflow.com/questions/30610609
复制相似问题