如何知道Android解码器MediaCodec.createDecoderByType(type)是硬件还是软件解码器?

时间:2016-06-09 01:32:23

标签: android android-mediaplayer mediacodec hardware-acceleration

有没有办法找出使用MediaCodec.createDecoderByType(type)接收的解码器是硬件解码器还是软件解码器?

1 个答案:

答案 0 :(得分:10)

没有真正的正式标志用于指示编解码器是硬件还是软件编解码器。实际上,你可以这样做:

MediaCodec codec = MediaCodec.createDecoderByType(type);
if (codec.getName().startsWith("OMX.google.")) {
    // Is a software codec
}

MediaCodec.getName()方法自API级别18开始可用。对于较低的API级别,您需要迭代MediaCodecList中的条目,并手动选择适合您需要的正确编解码器。)