MediaCodecInfo

public final class MediaCodecInfo
extends Object

java.lang.Object
   ↳ android.media.MediaCodecInfo


Provides information about a given media codec available on the device. You can iterate through all codecs available by querying MediaCodecList. For example, here's how to find an encoder that supports a given MIME type:

 private static MediaCodecInfo selectCodec(String mimeType) {
     int numCodecs = MediaCodecList.getCodecCount();
     for (int i = 0; i < numCodecs; i++) {
         MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);

         if (!codecInfo.isEncoder()) {
             continue;
         }

         String[] types = codecInfo.getSupportedTypes();
         for (int j = 0; j < types.length; j++) {
             if (types[j].equalsIgnoreCase(mimeType)) {
                 return codecInfo;
             }
         }
     }
     return null;
 }

Summary

Nested classes

class MediaCodecInfo.AudioCapabilities

A class that supports querying the audio capabilities of a codec. 

class MediaCodecInfo.CodecCapabilities

Encapsulates the capabilities of a given codec component. 

class MediaCodecInfo.CodecProfileLevel

Encapsulates the profiles available for a codec component. 

class MediaCodecInfo.EncoderCapabilities

A class that supports querying the encoding capabilities of a codec. 

class MediaCodecInfo.VideoCapabilities

A class that supports querying the video capabilities of a codec. 

Public methods

MediaCodecInfo.CodecCapabilities getCapabilitiesForType(String type)

Enumerates the capabilities of the codec component.

String getName()

Retrieve the codec name.

String[] getSupportedTypes()

Query the media types supported by the codec.

boolean isEncoder()

Query if the codec is an encoder.

Inherited methods

Public methods

getCapabilitiesForType

added in API level 16
public MediaCodecInfo.CodecCapabilities getCapabilitiesForType (String type)

Enumerates the capabilities of the codec component. Since a single component can support data of a variety of types, the type has to be specified to yield a meaningful result.

Parameters
type String: The MIME type to query

Returns
MediaCodecInfo.CodecCapabilities

getName

added in API level 16
public String getName ()

Retrieve the codec name.

Returns
String

getSupportedTypes

added in API level 16
public String[] getSupportedTypes ()

Query the media types supported by the codec.

Returns
String[]

isEncoder

added in API level 16
public boolean isEncoder ()

Query if the codec is an encoder.

Returns
boolean