鸿蒙OS 媒体编解码能力查询开发指导
场景介绍
媒体编解码能力查询主要指查询设备所支持的编解码器的 MIME(Multipurpose Internet Mail Extensions,媒体类型)列表,并判断设备是否支持指定 MIME 对应的编码器/解码器。
接口说明
接口名 | 功能描述 |
---|---|
getSupportedMimes() | 获取某设备所支持的编解码器的MIME列表。 |
isDecodeSupportedByMime(String mime) | 判断某设备是否支持指定MIME对应的解码器。 |
isEncodeSupportedByMime(String mime) | 判断某设备是否支持指定MIME对应的编码器。 |
isDecoderSupportedByFormat(Format format) | 判断某设备是否支持指定媒体格式对应的解码器。 |
isEncoderSupportedByFormat(Format format) | 判断某设备是否支持指定媒体格式对应的编码器。 |
开发步骤
- 调用 CodecDescriptionList 类的静态 getSupportedMimes()方法,获取某设备所支持的编解码器的 MIME 列表。代码示例如下:
List<String> mimes = CodecDescriptionList.getSupportedMimes();
- 调用 CodecDescriptionList 类的静态 isDecodeSupportedByMime 方法,判断某设备是否支持指定 MIME 对应的解码器,支持返回 true,否则返回 false。代码示例如下:
boolean result = CodecDescriptionList.isDecodeSupportedByMime(Format.VIDEO_VP9);
- 调用 CodecDescriptionList 类的静态 isEncodeSupportedByMime 方法,判断某设备是否支持指定 MIME 对应的编码器,支持返回 true,否则返回 false。代码示例如下:
boolean result = CodecDescriptionList.isEncodeSupportedByMime(Format.AUDIO_FLAC);
- 调用 CodecDescriptionList 类的静态 isDecoderSupportedByFormat/isEncoderSupportedByFormat 方法,判断某设备是否支持指定 Format 的编解码器,支持返回 true ,否则返回 false。代码示例如下:
Format format = new Format();
format.putStringValue(Format.MIME, Format.VIDEO_AVC);
format.putIntValue(Format.WIDTH, 2560);
format.putIntValue(Format.HEIGHT, 1440);
format.putIntValue(Format.FRAME_RATE, 30);
format.putIntValue(Format.FRAME_INTERVAL, 1);
boolean result = CodecDescriptionList.isDecoderSupportedByFormat(format);
result = CodecDescriptionList.isEncoderSupportedByFormat(format);