阅读(3441) (11)

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

2020-09-17 09:19:53 更新

场景介绍

媒体编解码能力查询主要指查询设备所支持的编解码器的 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);