鸿蒙OS开发文档 鸿蒙OS 媒体编解码能力查询开发指导

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 2

场景介绍

媒体编解码能力查询主要指查询设备所支持的编解码器的 MIME(Multipurpose Internet Mail Extensions,媒体类型)列表,并判断设备是否支持指定 MIME 对应的编码器/解码器。

接口说明

接口名功能描述
getSupportedMimes()获取某设备所支持的编解码器的MIME列表。
isDecodeSupportedByMime(String mime)判断某设备是否支持指定MIME对应的解码器。
isEncodeSupportedByMime(String mime)判断某设备是否支持指定MIME对应的编码器。
isDecoderSupportedByFormat(Format format)判断某设备是否支持指定媒体格式对应的解码器。
isEncoderSupportedByFormat(Format format)判断某设备是否支持指定媒体格式对应的编码器。

开发步骤

  1. 调用 CodecDescriptionList 类的静态 getSupportedMimes()方法,获取某设备所支持的编解码器的 MIME 列表。代码示例如下:
List<String> mimes = CodecDescriptionList.getSupportedMimes();
  1. 调用 CodecDescriptionList 类的静态 isDecodeSupportedByMime 方法,判断某设备是否支持指定 MIME 对应的解码器,支持返回 true,否则返回 false。代码示例如下:
boolean result = CodecDescriptionList.isDecodeSupportedByMime(Format.VIDEO_VP9);
  1. 调用 CodecDescriptionList 类的静态 isEncodeSupportedByMime 方法,判断某设备是否支持指定 MIME 对应的编码器,支持返回 true,否则返回 false。代码示例如下:
boolean result = CodecDescriptionList.isEncodeSupportedByMime(Format.AUDIO_FLAC);
  1. 调用 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);