1e41f4b71Sopenharmony_ci# AVCapability 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## 概述 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ciAVCapability模块提供用于编解码能力查询的函数。 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci**起始版本:** 10 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci## 汇总 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci### 文件 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci| 名称 | 描述 | 19e41f4b71Sopenharmony_ci| -------- | -------- | 20e41f4b71Sopenharmony_ci| [native_avcapability.h](native__avcapability_8h.md) | 声明用于编解码能力查询到的Native API。| 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci### 结构体 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci| 名称 | 描述 | 26e41f4b71Sopenharmony_ci| -------- | -------- | 27e41f4b71Sopenharmony_ci| struct [OH_AVRange](_o_h___a_v_range.md) | 范围包含最小值和最大值。 | 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci### 类型定义 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci| 名称 | 描述 | 33e41f4b71Sopenharmony_ci| -------- | -------- | 34e41f4b71Sopenharmony_ci| typedef enum [OH_BitrateMode](#oh_bitratemode-1) [OH_BitrateMode](#oh_bitratemode) | 编码器的比特率模式。 | 35e41f4b71Sopenharmony_ci| typedef struct [OH_AVRange](_o_h___a_v_range.md) [OH_AVRange](#oh_avrange) | 范围包含最小值和最大值。 | 36e41f4b71Sopenharmony_ci| typedef enum [OH_AVCodecCategory](#oh_avcodeccategory-1) [OH_AVCodecCategory](#oh_avcodeccategory) | 编解码器类别。 | 37e41f4b71Sopenharmony_ci| typedef enum [OH_AVCapabilityFeature](#oh_avcapabilityfeature-1) [OH_AVCapabilityFeature](#oh_avcapabilityfeature) | 可以在特定编解码器场景中使用的可选特性。 | 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci### 枚举 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci| 名称 | 描述 | 43e41f4b71Sopenharmony_ci| -------- | -------- | 44e41f4b71Sopenharmony_ci| [OH_BitrateMode](#oh_bitratemode-1) { <br/>BITRATE_MODE_CBR = 0, <br/>BITRATE_MODE_VBR = 1, <br/>BITRATE_MODE_CQ = 2 } | 编码器的比特率模式。 | 45e41f4b71Sopenharmony_ci| [OH_AVCodecCategory](#oh_avcodeccategory-1) { HARDWARE = 0, SOFTWARE } | 编解码器类别。 | 46e41f4b71Sopenharmony_ci| [OH_AVCapabilityFeature](#oh_avcapabilityfeature-1) {<br/> VIDEO_ENCODER_TEMPORAL_SCALABILITY = 0, <br/>VIDEO_ENCODER_LONG_TERM_REFERENCE = 1, <br/>VIDEO_LOW_LATENCY = 2 <br/>} | 可以在特定编解码器场景中使用的可选特性。 | 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci### 函数 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci| 名称 | 描述 | 52e41f4b71Sopenharmony_ci| -------- | -------- | 53e41f4b71Sopenharmony_ci| OH_AVCapability \*[OH_AVCodec_GetCapability](#oh_avcodec_getcapability) (const char \*mime, bool isEncoder) | 获取系统推荐的编解码器能力。 | 54e41f4b71Sopenharmony_ci| OH_AVCapability \*[OH_AVCodec_GetCapabilityByCategory](#oh_avcodec_getcapabilitybycategory) (const char \*mime, bool isEncoder, [OH_AVCodecCategory](#oh_avcodeccategory) category) | 获取指定类别中的编解码器能力。 | 55e41f4b71Sopenharmony_ci| bool [OH_AVCapability_IsHardware](#oh_avcapability_ishardware) (OH_AVCapability \*capability) | 检查能力实例是否描述了硬件编解码器。 | 56e41f4b71Sopenharmony_ci| const char \* [OH_AVCapability_GetName](#oh_avcapability_getname) (OH_AVCapability \*capability) | 获取编解码器名称。 | 57e41f4b71Sopenharmony_ci| int32_t [OH_AVCapability_GetMaxSupportedInstances](#oh_avcapability_getmaxsupportedinstances) (OH_AVCapability \*capability) | 获取编解码器支持的最大实例数。 | 58e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetEncoderBitrateRange](#oh_avcapability_getencoderbitraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*bitrateRange) | 获取编码器支持的比特率范围。 | 59e41f4b71Sopenharmony_ci| bool [OH_AVCapability_IsEncoderBitrateModeSupported](#oh_avcapability_isencoderbitratemodesupported) (OH_AVCapability \*capability, [OH_BitrateMode](#oh_bitratemode) bitrateMode) | 检查编码器是否支持特定的比特率模式。 | 60e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetEncoderQualityRange](#oh_avcapability_getencoderqualityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*qualityRange) | 获取编码器支持的质量范围。 | 61e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetEncoderComplexityRange](#oh_avcapability_getencodercomplexityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*complexityRange) | 获取编码器支持的编码器复杂性范围。 | 62e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetAudioSupportedSampleRates](#oh_avcapability_getaudiosupportedsamplerates) (OH_AVCapability \*capability, const int32_t \*\*sampleRates, uint32_t \*sampleRateNum) | 获取音频编解码器支持的采样率。 | 63e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetAudioChannelCountRange](#oh_avcapability_getaudiochannelcountrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*channelCountRange) | 获取音频编解码器支持的音频通道计数范围。 | 64e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoWidthAlignment](#oh_avcapability_getvideowidthalignment) (OH_AVCapability \*capability, int32_t \*widthAlignment) | 获取视频编解码器支持的视频宽度对齐。 | 65e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoHeightAlignment](#oh_avcapability_getvideoheightalignment) (OH_AVCapability \*capability, int32_t \*heightAlignment) | 获取视频编解码器支持的视频高度对齐。 | 66e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoWidthRangeForHeight](#oh_avcapability_getvideowidthrangeforheight) (OH_AVCapability \*capability, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | 获取指定高度情况下视频编解码器支持的视频宽度范围。 | 67e41f4b71Sopenharmony_ci| OH_AVErrCode [OH_AVCapability_GetVideoHeightRangeForWidth](#oh_avcapability_getvideoheightrangeforwidth) (OH_AVCapability \*capability, int32_t width, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | 获取指定宽度情况下视频编解码器支持的视频高度范围。 | 68e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoWidthRange](#oh_avcapability_getvideowidthrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | 获取视频编解码器支持的视频宽度范围。 | 69e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoHeightRange](#oh_avcapability_getvideoheightrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | 获取视频编解码器支持的视频高度范围。 | 70e41f4b71Sopenharmony_ci| bool [OH_AVCapability_IsVideoSizeSupported](#oh_avcapability_isvideosizesupported) (OH_AVCapability \*capability, int32_t width, int32_t height) | 检查视频编解码器是否支持特定的视频大小。 | 71e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoFrameRateRange](#oh_avcapability_getvideoframeraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | 获取视频编解码器支持的视频帧率范围。 | 72e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoFrameRateRangeForSize](#oh_avcapability_getvideoframeraterangeforsize) (OH_AVCapability \*capability, int32_t width, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | 获取指定视频大小的视频编解码器支持的视频帧率范围。 | 73e41f4b71Sopenharmony_ci| bool [OH_AVCapability_AreVideoSizeAndFrameRateSupported](#oh_avcapability_arevideosizeandframeratesupported) (OH_AVCapability \*capability, int32_t width, int32_t height, int32_t frameRate) | 检查视频编解码器是否支持视频大小和帧率的特定组合。 | 74e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoSupportedPixelFormats](#oh_avcapability_getvideosupportedpixelformats) (OH_AVCapability \*capability, const int32_t \*\*pixelFormats, uint32_t \*pixelFormatNum) | 获取视频编解码器支持的视频像素格式。 | 75e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetSupportedProfiles](#oh_avcapability_getsupportedprofiles) (OH_AVCapability \*capability, const int32_t \*\*profiles, uint32_t \*profileNum) | 获取编解码器支持的档次。 | 76e41f4b71Sopenharmony_ci| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetSupportedLevelsForProfile](#oh_avcapability_getsupportedlevelsforprofile) (OH_AVCapability \*capability, int32_t profile, const int32_t \*\*levels, uint32_t \*levelNum) | 获取特定档次支持的编解码器级别。 | 77e41f4b71Sopenharmony_ci| bool [OH_AVCapability_AreProfileAndLevelSupported](#oh_avcapability_areprofileandlevelsupported) (OH_AVCapability \*capability, int32_t profile, int32_t level) | 检查编解码器是否支持档次和级别的特定组合。 | 78e41f4b71Sopenharmony_ci| bool [OH_AVCapability_IsFeatureSupported](#oh_avcapability_isfeaturesupported) (OH_AVCapability \*capability, [OH_AVCapabilityFeature](#oh_avcapabilityfeature) feature) | 检查编解码器是否支持指定特性。 | 79e41f4b71Sopenharmony_ci| OH_AVFormat \* [OH_AVCapability_GetFeatureProperties](#oh_avcapability_getfeatureproperties) (OH_AVCapability \*capability, [OH_AVCapabilityFeature](#oh_avcapabilityfeature) feature) | 获取指定特性的属性。 需要注意的是,返回值指向的OH_AVFormat实例的生命周期需要调用者手动释放。 | 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ci## 类型定义说明 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci### OH_AVCapabilityFeature 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci``` 88e41f4b71Sopenharmony_citypedef enum OH_AVCapabilityFeature OH_AVCapabilityFeature 89e41f4b71Sopenharmony_ci``` 90e41f4b71Sopenharmony_ci**描述** 91e41f4b71Sopenharmony_ci可以在特定编解码器场景中使用的可选特性。 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci**起始版本:** 12 96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci### OH_AVCodecCategory 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci``` 101e41f4b71Sopenharmony_citypedef enum OH_AVCodecCategory OH_AVCodecCategory 102e41f4b71Sopenharmony_ci``` 103e41f4b71Sopenharmony_ci**描述** 104e41f4b71Sopenharmony_ci编解码器类别。 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci**起始版本:** 10 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci### OH_AVRange 112e41f4b71Sopenharmony_ci 113e41f4b71Sopenharmony_ci``` 114e41f4b71Sopenharmony_citypedef struct OH_AVRange OH_AVRange 115e41f4b71Sopenharmony_ci``` 116e41f4b71Sopenharmony_ci**描述** 117e41f4b71Sopenharmony_ci范围包含最小值和最大值。 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci**起始版本:** 10 122e41f4b71Sopenharmony_ci 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci### OH_BitrateMode 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci``` 127e41f4b71Sopenharmony_citypedef enum OH_BitrateMode OH_BitrateMode 128e41f4b71Sopenharmony_ci``` 129e41f4b71Sopenharmony_ci**描述** 130e41f4b71Sopenharmony_ci编码器的比特率模式。 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci**起始版本:** 10 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ci## 枚举类型说明 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci### OH_AVCapabilityFeature 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci``` 143e41f4b71Sopenharmony_cienum OH_AVCapabilityFeature 144e41f4b71Sopenharmony_ci``` 145e41f4b71Sopenharmony_ci**描述** 146e41f4b71Sopenharmony_ci可以在特定编解码器场景中使用的可选特性。 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci**起始版本:** 12 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 153e41f4b71Sopenharmony_ci| -------- | -------- | 154e41f4b71Sopenharmony_ci| VIDEO_ENCODER_TEMPORAL_SCALABILITY | 编解码器支持时域可分层特性,只用于视频编码场景。 | 155e41f4b71Sopenharmony_ci| VIDEO_ENCODER_LONG_TERM_REFERENCE | 编解码器支持长期参考帧特性,只用于视频编码场景。 | 156e41f4b71Sopenharmony_ci| VIDEO_LOW_LATENCY | 编解码器支持低时延特性,用于视频编码和视频解码场景。 | 157e41f4b71Sopenharmony_ci 158e41f4b71Sopenharmony_ci 159e41f4b71Sopenharmony_ci### OH_AVCodecCategory 160e41f4b71Sopenharmony_ci 161e41f4b71Sopenharmony_ci``` 162e41f4b71Sopenharmony_cienum OH_AVCodecCategory 163e41f4b71Sopenharmony_ci``` 164e41f4b71Sopenharmony_ci**描述** 165e41f4b71Sopenharmony_ci编解码器类别。 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ci**起始版本:** 10 170e41f4b71Sopenharmony_ci 171e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 172e41f4b71Sopenharmony_ci| -------- | -------- | 173e41f4b71Sopenharmony_ci| HARDWARE | 硬件编解码。 | 174e41f4b71Sopenharmony_ci| SOFTWARE | 软件编解码。 | 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci### OH_BitrateMode 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ci``` 180e41f4b71Sopenharmony_cienum OH_BitrateMode 181e41f4b71Sopenharmony_ci``` 182e41f4b71Sopenharmony_ci**描述** 183e41f4b71Sopenharmony_ci编码器的比特率模式。 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 186e41f4b71Sopenharmony_ci 187e41f4b71Sopenharmony_ci**起始版本:** 10 188e41f4b71Sopenharmony_ci 189e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 190e41f4b71Sopenharmony_ci| -------- | -------- | 191e41f4b71Sopenharmony_ci| BITRATE_MODE_CBR | 恒定比特率模式。 | 192e41f4b71Sopenharmony_ci| BITRATE_MODE_VBR | 可变比特率模式,码率仅作参考。 | 193e41f4b71Sopenharmony_ci| BITRATE_MODE_CQ | 恒定质量模式。 | 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci## 函数说明 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci### OH_AVCapability_AreProfileAndLevelSupported() 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ci``` 202e41f4b71Sopenharmony_cibool OH_AVCapability_AreProfileAndLevelSupported (OH_AVCapability *capability, int32_t profile, int32_t level) 203e41f4b71Sopenharmony_ci``` 204e41f4b71Sopenharmony_ci**描述** 205e41f4b71Sopenharmony_ci检查编解码器是否支持档次和级别的特定组合。 206e41f4b71Sopenharmony_ci 207e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 208e41f4b71Sopenharmony_ci 209e41f4b71Sopenharmony_ci**起始版本:** 10 210e41f4b71Sopenharmony_ci 211e41f4b71Sopenharmony_ci**参数:** 212e41f4b71Sopenharmony_ci 213e41f4b71Sopenharmony_ci| 名称 | 描述 | 214e41f4b71Sopenharmony_ci| -------- | -------- | 215e41f4b71Sopenharmony_ci| capability | 编解码能力指针。 | 216e41f4b71Sopenharmony_ci| profile | 编解码器档次。 | 217e41f4b71Sopenharmony_ci| level | 编解码器级别。 | 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ci**返回:** 220e41f4b71Sopenharmony_ci 221e41f4b71Sopenharmony_ci如果支持档次和级别的组合,则返回true。 如果不支持,则为false。 222e41f4b71Sopenharmony_ci 223e41f4b71Sopenharmony_ci 224e41f4b71Sopenharmony_ci### OH_AVCapability_AreVideoSizeAndFrameRateSupported() 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ci``` 227e41f4b71Sopenharmony_cibool OH_AVCapability_AreVideoSizeAndFrameRateSupported (OH_AVCapability *capability, int32_t width, int32_t height, int32_t frameRate) 228e41f4b71Sopenharmony_ci``` 229e41f4b71Sopenharmony_ci**描述** 230e41f4b71Sopenharmony_ci检查视频编解码器是否支持视频大小和帧率的特定组合。 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_ci**起始版本:** 10 235e41f4b71Sopenharmony_ci 236e41f4b71Sopenharmony_ci**参数:** 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci| 名称 | 描述 | 239e41f4b71Sopenharmony_ci| -------- | -------- | 240e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 241e41f4b71Sopenharmony_ci| width | 视频水平像素数。 | 242e41f4b71Sopenharmony_ci| height | 视频垂直像素数。 | 243e41f4b71Sopenharmony_ci| frameRate | 每秒帧数。 | 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ci**返回:** 246e41f4b71Sopenharmony_ci 247e41f4b71Sopenharmony_ci如果支持视频大小和帧率的组合,则返回true。 如果不支持,则为false。 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ci 250e41f4b71Sopenharmony_ci### OH_AVCapability_GetAudioChannelCountRange() 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_ci``` 253e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetAudioChannelCountRange (OH_AVCapability *capability, OH_AVRange *channelCountRange) 254e41f4b71Sopenharmony_ci``` 255e41f4b71Sopenharmony_ci**描述** 256e41f4b71Sopenharmony_ci获取音频编解码器支持的音频通道计数范围。 257e41f4b71Sopenharmony_ci 258e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 259e41f4b71Sopenharmony_ci 260e41f4b71Sopenharmony_ci**起始版本:** 10 261e41f4b71Sopenharmony_ci 262e41f4b71Sopenharmony_ci**参数:** 263e41f4b71Sopenharmony_ci 264e41f4b71Sopenharmony_ci| 名称 | 描述 | 265e41f4b71Sopenharmony_ci| -------- | -------- | 266e41f4b71Sopenharmony_ci| capability | 音频编解码能力指针。不能填入视频编解码器能力指针。 | 267e41f4b71Sopenharmony_ci| channelCountRange | 输出参数。音频通道计数范围。 | 268e41f4b71Sopenharmony_ci 269e41f4b71Sopenharmony_ci**返回:** 270e41f4b71Sopenharmony_ci 271e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 272e41f4b71Sopenharmony_ci 273e41f4b71Sopenharmony_ci当能力实例无效,或者指向音频通道计数范围的指针为空指针,返回AV_ERR_INVALID_VAL。 274e41f4b71Sopenharmony_ci 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci### OH_AVCapability_GetAudioSupportedSampleRates() 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci``` 279e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetAudioSupportedSampleRates (OH_AVCapability *capability, const int32_t **sampleRates, uint32_t *sampleRateNum) 280e41f4b71Sopenharmony_ci``` 281e41f4b71Sopenharmony_ci**描述** 282e41f4b71Sopenharmony_ci获取音频编解码器支持的采样率。 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci**起始版本:** 10 287e41f4b71Sopenharmony_ci 288e41f4b71Sopenharmony_ci**参数:** 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci| 名称 | 描述 | 291e41f4b71Sopenharmony_ci| -------- | -------- | 292e41f4b71Sopenharmony_ci| capability | 音频编解码能力指针。不能填入视频编解码器能力指针。 | 293e41f4b71Sopenharmony_ci| sampleRates | 输出参数。指向采样率数组的指针。 | 294e41f4b71Sopenharmony_ci| sampleRateNum | 输出参数。采样率数组的元素数目。 | 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_ci**返回:** 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 299e41f4b71Sopenharmony_ci 300e41f4b71Sopenharmony_ci当能力实例无效,或者指向采样率数组的指针为空指针,或者指向采样率数组的元素数目的指针为空指针,返回AV_ERR_INVALID_VAL。 当遇到未知错误,返回AV_ERR_UNKNOWN。 当内部使用内存分配失败,返回AV_ERR_NO_MEMORY。 301e41f4b71Sopenharmony_ci 302e41f4b71Sopenharmony_ci 303e41f4b71Sopenharmony_ci### OH_AVCapability_GetEncoderBitrateRange() 304e41f4b71Sopenharmony_ci 305e41f4b71Sopenharmony_ci``` 306e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetEncoderBitrateRange (OH_AVCapability *capability, OH_AVRange *bitrateRange) 307e41f4b71Sopenharmony_ci``` 308e41f4b71Sopenharmony_ci**描述** 309e41f4b71Sopenharmony_ci获取编码器支持的比特率范围。 310e41f4b71Sopenharmony_ci 311e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 312e41f4b71Sopenharmony_ci 313e41f4b71Sopenharmony_ci**起始版本:** 10 314e41f4b71Sopenharmony_ci 315e41f4b71Sopenharmony_ci**参数:** 316e41f4b71Sopenharmony_ci 317e41f4b71Sopenharmony_ci| 名称 | 描述 | 318e41f4b71Sopenharmony_ci| -------- | -------- | 319e41f4b71Sopenharmony_ci| capability | 编码器能力指针。不能填入解码器能力指针。 | 320e41f4b71Sopenharmony_ci| bitrateRange | 输出参数。编码器码率范围。 | 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ci**返回:** 323e41f4b71Sopenharmony_ci 324e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 325e41f4b71Sopenharmony_ci 326e41f4b71Sopenharmony_ci当能力实例无效,或者指向编码器码率范围的指针为空指针,返回AV_ERR_INVALID_VAL。 327e41f4b71Sopenharmony_ci 328e41f4b71Sopenharmony_ci 329e41f4b71Sopenharmony_ci### OH_AVCapability_GetEncoderComplexityRange() 330e41f4b71Sopenharmony_ci 331e41f4b71Sopenharmony_ci``` 332e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetEncoderComplexityRange (OH_AVCapability *capability, OH_AVRange *complexityRange) 333e41f4b71Sopenharmony_ci``` 334e41f4b71Sopenharmony_ci**描述** 335e41f4b71Sopenharmony_ci获取编码器支持的编码器复杂性范围。 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 338e41f4b71Sopenharmony_ci 339e41f4b71Sopenharmony_ci**起始版本:** 10 340e41f4b71Sopenharmony_ci 341e41f4b71Sopenharmony_ci**参数:** 342e41f4b71Sopenharmony_ci 343e41f4b71Sopenharmony_ci| 名称 | 描述 | 344e41f4b71Sopenharmony_ci| -------- | -------- | 345e41f4b71Sopenharmony_ci| capability | 编码器能力指针。不能填入解码器能力指针。 | 346e41f4b71Sopenharmony_ci| complexityRange | 输出参数。编码器复杂度范围。 | 347e41f4b71Sopenharmony_ci 348e41f4b71Sopenharmony_ci**返回:** 349e41f4b71Sopenharmony_ci 350e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 351e41f4b71Sopenharmony_ci 352e41f4b71Sopenharmony_ci当能力实例无效,或者指向编码器复杂度范围的指针为空指针,返回AV_ERR_INVALID_VAL。 353e41f4b71Sopenharmony_ci 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci### OH_AVCapability_GetEncoderQualityRange() 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci``` 358e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetEncoderQualityRange (OH_AVCapability *capability, OH_AVRange *qualityRange) 359e41f4b71Sopenharmony_ci``` 360e41f4b71Sopenharmony_ci**描述** 361e41f4b71Sopenharmony_ci获取编码器支持的质量范围。 362e41f4b71Sopenharmony_ci 363e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 364e41f4b71Sopenharmony_ci 365e41f4b71Sopenharmony_ci**起始版本:** 10 366e41f4b71Sopenharmony_ci 367e41f4b71Sopenharmony_ci**参数:** 368e41f4b71Sopenharmony_ci 369e41f4b71Sopenharmony_ci| 名称 | 描述 | 370e41f4b71Sopenharmony_ci| -------- | -------- | 371e41f4b71Sopenharmony_ci| capability | 编码器能力指针。不能填入解码器能力指针。 | 372e41f4b71Sopenharmony_ci| qualityRange | 输出参数。编码器质量范围。 | 373e41f4b71Sopenharmony_ci 374e41f4b71Sopenharmony_ci**返回:** 375e41f4b71Sopenharmony_ci 376e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 377e41f4b71Sopenharmony_ci 378e41f4b71Sopenharmony_ci当能力实例无效,或者指向编码器质量范围的指针为空指针,返回AV_ERR_INVALID_VAL。 379e41f4b71Sopenharmony_ci 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_ci### OH_AVCapability_GetFeatureProperties() 382e41f4b71Sopenharmony_ci 383e41f4b71Sopenharmony_ci``` 384e41f4b71Sopenharmony_ciOH_AVFormat* OH_AVCapability_GetFeatureProperties (OH_AVCapability *capability, OH_AVCapabilityFeature feature) 385e41f4b71Sopenharmony_ci``` 386e41f4b71Sopenharmony_ci**描述** 387e41f4b71Sopenharmony_ci获取指定特性的属性。 需要注意的是,返回值指向的OH_AVFormat实例的生命周期需要调用者手动释放。 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 390e41f4b71Sopenharmony_ci 391e41f4b71Sopenharmony_ci**起始版本:** 12 392e41f4b71Sopenharmony_ci 393e41f4b71Sopenharmony_ci**参数:** 394e41f4b71Sopenharmony_ci 395e41f4b71Sopenharmony_ci| 名称 | 描述 | 396e41f4b71Sopenharmony_ci| -------- | -------- | 397e41f4b71Sopenharmony_ci| capability | 编解码能力指针。 | 398e41f4b71Sopenharmony_ci| feature | 编解码特性,请参阅[OH_AVCapabilityFeature](#oh_avcapabilityfeature)。 | 399e41f4b71Sopenharmony_ci 400e41f4b71Sopenharmony_ci**返回:** 401e41f4b71Sopenharmony_ci 402e41f4b71Sopenharmony_ci返回指向OH_AVFormat实例的指针。 403e41f4b71Sopenharmony_ci 404e41f4b71Sopenharmony_ci 405e41f4b71Sopenharmony_ci### OH_AVCapability_GetMaxSupportedInstances() 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ci``` 408e41f4b71Sopenharmony_ciint32_t OH_AVCapability_GetMaxSupportedInstances (OH_AVCapability *capability) 409e41f4b71Sopenharmony_ci``` 410e41f4b71Sopenharmony_ci**描述** 411e41f4b71Sopenharmony_ci获取编解码器支持的最大实例数。 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 414e41f4b71Sopenharmony_ci 415e41f4b71Sopenharmony_ci**起始版本:** 10 416e41f4b71Sopenharmony_ci 417e41f4b71Sopenharmony_ci**参数:** 418e41f4b71Sopenharmony_ci 419e41f4b71Sopenharmony_ci| 名称 | 描述 | 420e41f4b71Sopenharmony_ci| -------- | -------- | 421e41f4b71Sopenharmony_ci| capability | 编解码能力指针。 | 422e41f4b71Sopenharmony_ci 423e41f4b71Sopenharmony_ci**返回:** 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci返回支持的最大编解码器实例数。 426e41f4b71Sopenharmony_ci 427e41f4b71Sopenharmony_ci 428e41f4b71Sopenharmony_ci### OH_AVCapability_GetName() 429e41f4b71Sopenharmony_ci 430e41f4b71Sopenharmony_ci``` 431e41f4b71Sopenharmony_ciconst char* OH_AVCapability_GetName (OH_AVCapability *capability) 432e41f4b71Sopenharmony_ci``` 433e41f4b71Sopenharmony_ci**描述** 434e41f4b71Sopenharmony_ci获取编解码器名称。 435e41f4b71Sopenharmony_ci 436e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 437e41f4b71Sopenharmony_ci 438e41f4b71Sopenharmony_ci**起始版本:** 10 439e41f4b71Sopenharmony_ci 440e41f4b71Sopenharmony_ci**参数:** 441e41f4b71Sopenharmony_ci 442e41f4b71Sopenharmony_ci| 名称 | 描述 | 443e41f4b71Sopenharmony_ci| -------- | -------- | 444e41f4b71Sopenharmony_ci| capability | 编解码能力指针。 | 445e41f4b71Sopenharmony_ci 446e41f4b71Sopenharmony_ci**返回:** 447e41f4b71Sopenharmony_ci 448e41f4b71Sopenharmony_ci返回编解码器名称字符串。 449e41f4b71Sopenharmony_ci 450e41f4b71Sopenharmony_ci 451e41f4b71Sopenharmony_ci### OH_AVCapability_GetSupportedLevelsForProfile() 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci``` 454e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetSupportedLevelsForProfile (OH_AVCapability *capability, int32_t profile, const int32_t **levels, uint32_t *levelNum) 455e41f4b71Sopenharmony_ci``` 456e41f4b71Sopenharmony_ci**描述** 457e41f4b71Sopenharmony_ci获取特定档次支持的编解码器级别。 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 460e41f4b71Sopenharmony_ci 461e41f4b71Sopenharmony_ci**起始版本:** 10 462e41f4b71Sopenharmony_ci 463e41f4b71Sopenharmony_ci**参数:** 464e41f4b71Sopenharmony_ci 465e41f4b71Sopenharmony_ci| 名称 | 描述 | 466e41f4b71Sopenharmony_ci| -------- | -------- | 467e41f4b71Sopenharmony_ci| capability | 编解码能力指针。 | 468e41f4b71Sopenharmony_ci| profile | 编解码器档次。 | 469e41f4b71Sopenharmony_ci| levels | 输出参数。指向级别数组的指针。 | 470e41f4b71Sopenharmony_ci| levelNum | 输出参数。级别数组的元素数目。 | 471e41f4b71Sopenharmony_ci 472e41f4b71Sopenharmony_ci**返回:** 473e41f4b71Sopenharmony_ci 474e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 475e41f4b71Sopenharmony_ci 476e41f4b71Sopenharmony_ci当能力实例无效,或者档次不在通过[OH_AVCapability_GetSupportedProfiles](#oh_avcapability_getsupportedprofiles)获取支持的档次数组中, 或者指向级别数组的指针为空指针,或者指向级别数组的元素数目的指针为空指针,返回AV_ERR_INVALID_VAL。 当遇到未知错误,返回AV_ERR_UNKNOWN。 当内部使用内存分配失败,返回AV_ERR_NO_MEMORY。 477e41f4b71Sopenharmony_ci 478e41f4b71Sopenharmony_ci 479e41f4b71Sopenharmony_ci### OH_AVCapability_GetSupportedProfiles() 480e41f4b71Sopenharmony_ci 481e41f4b71Sopenharmony_ci``` 482e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetSupportedProfiles (OH_AVCapability *capability, const int32_t **profiles, uint32_t *profileNum) 483e41f4b71Sopenharmony_ci``` 484e41f4b71Sopenharmony_ci**描述** 485e41f4b71Sopenharmony_ci获取编解码器支持的档次。 486e41f4b71Sopenharmony_ci 487e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 488e41f4b71Sopenharmony_ci 489e41f4b71Sopenharmony_ci**起始版本:** 10 490e41f4b71Sopenharmony_ci 491e41f4b71Sopenharmony_ci**参数:** 492e41f4b71Sopenharmony_ci 493e41f4b71Sopenharmony_ci| 名称 | 描述 | 494e41f4b71Sopenharmony_ci| -------- | -------- | 495e41f4b71Sopenharmony_ci| capability | 编解码能力指针。 | 496e41f4b71Sopenharmony_ci| profiles | 输出参数。指向档次数组的指针。 | 497e41f4b71Sopenharmony_ci| profileNum | 输出参数。档次数组的元素数目。 | 498e41f4b71Sopenharmony_ci 499e41f4b71Sopenharmony_ci**返回:** 500e41f4b71Sopenharmony_ci 501e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 502e41f4b71Sopenharmony_ci 503e41f4b71Sopenharmony_ci当能力实例无效,或者指向档次数组的指针为空指针,或者指向档次数组的元素数目的指针为空指针,返回AV_ERR_INVALID_VAL。 当遇到未知错误,返回AV_ERR_UNKNOWN。 当内部使用内存分配失败,返回AV_ERR_NO_MEMORY。 504e41f4b71Sopenharmony_ci 505e41f4b71Sopenharmony_ci 506e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoFrameRateRange() 507e41f4b71Sopenharmony_ci 508e41f4b71Sopenharmony_ci``` 509e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoFrameRateRange (OH_AVCapability *capability, OH_AVRange *frameRateRange) 510e41f4b71Sopenharmony_ci``` 511e41f4b71Sopenharmony_ci**描述** 512e41f4b71Sopenharmony_ci获取视频编解码器支持的视频帧率范围。 513e41f4b71Sopenharmony_ci 514e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 515e41f4b71Sopenharmony_ci 516e41f4b71Sopenharmony_ci**起始版本:** 10 517e41f4b71Sopenharmony_ci 518e41f4b71Sopenharmony_ci**参数:** 519e41f4b71Sopenharmony_ci 520e41f4b71Sopenharmony_ci| 名称 | 描述 | 521e41f4b71Sopenharmony_ci| -------- | -------- | 522e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 523e41f4b71Sopenharmony_ci| frameRateRange | 输出参数。视频帧率范围。 | 524e41f4b71Sopenharmony_ci 525e41f4b71Sopenharmony_ci**返回:** 526e41f4b71Sopenharmony_ci 527e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 528e41f4b71Sopenharmony_ci 529e41f4b71Sopenharmony_ci当能力实例无效,或者指向视频帧率范围的指针为空指针,返回AV_ERR_INVALID_VAL。 530e41f4b71Sopenharmony_ci 531e41f4b71Sopenharmony_ci 532e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoFrameRateRangeForSize() 533e41f4b71Sopenharmony_ci 534e41f4b71Sopenharmony_ci``` 535e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoFrameRateRangeForSize (OH_AVCapability *capability, int32_t width, int32_t height, OH_AVRange *frameRateRange) 536e41f4b71Sopenharmony_ci``` 537e41f4b71Sopenharmony_ci**描述** 538e41f4b71Sopenharmony_ci获取指定视频大小的视频编解码器支持的视频帧率范围。 539e41f4b71Sopenharmony_ci 540e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 541e41f4b71Sopenharmony_ci 542e41f4b71Sopenharmony_ci**起始版本:** 10 543e41f4b71Sopenharmony_ci 544e41f4b71Sopenharmony_ci**参数:** 545e41f4b71Sopenharmony_ci 546e41f4b71Sopenharmony_ci| 名称 | 描述 | 547e41f4b71Sopenharmony_ci| -------- | -------- | 548e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 549e41f4b71Sopenharmony_ci| width | 视频水平像素数。 | 550e41f4b71Sopenharmony_ci| height | 视频垂直像素数。 | 551e41f4b71Sopenharmony_ci| frameRateRange | 输出参数。视频帧率范围。 | 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci**返回:** 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 556e41f4b71Sopenharmony_ci 557e41f4b71Sopenharmony_ci当能力实例无效,或者宽度和高度组合不支持,或者指向帧率范围的指针为空指针,返回AV_ERR_INVALID_VAL。 558e41f4b71Sopenharmony_ci 559e41f4b71Sopenharmony_ci 560e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoHeightAlignment() 561e41f4b71Sopenharmony_ci 562e41f4b71Sopenharmony_ci``` 563e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoHeightAlignment (OH_AVCapability *capability, int32_t *heightAlignment) 564e41f4b71Sopenharmony_ci``` 565e41f4b71Sopenharmony_ci**描述** 566e41f4b71Sopenharmony_ci获取视频编解码器支持的视频高度对齐。 567e41f4b71Sopenharmony_ci 568e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 569e41f4b71Sopenharmony_ci 570e41f4b71Sopenharmony_ci**起始版本:** 10 571e41f4b71Sopenharmony_ci 572e41f4b71Sopenharmony_ci**参数:** 573e41f4b71Sopenharmony_ci 574e41f4b71Sopenharmony_ci| 名称 | 描述 | 575e41f4b71Sopenharmony_ci| -------- | -------- | 576e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 577e41f4b71Sopenharmony_ci| heightAlignment | 输出参数。视频高度对齐。 | 578e41f4b71Sopenharmony_ci 579e41f4b71Sopenharmony_ci**返回:** 580e41f4b71Sopenharmony_ci 581e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 582e41f4b71Sopenharmony_ci 583e41f4b71Sopenharmony_ci当能力实例无效,或者指向视频高度对齐的指针为空指针,返回AV_ERR_INVALID_VAL。 584e41f4b71Sopenharmony_ci 585e41f4b71Sopenharmony_ci 586e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoHeightRange() 587e41f4b71Sopenharmony_ci 588e41f4b71Sopenharmony_ci``` 589e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoHeightRange (OH_AVCapability *capability, OH_AVRange *heightRange) 590e41f4b71Sopenharmony_ci``` 591e41f4b71Sopenharmony_ci**描述** 592e41f4b71Sopenharmony_ci获取视频编解码器支持的视频高度范围。 593e41f4b71Sopenharmony_ci 594e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 595e41f4b71Sopenharmony_ci 596e41f4b71Sopenharmony_ci**起始版本:** 10 597e41f4b71Sopenharmony_ci 598e41f4b71Sopenharmony_ci**参数:** 599e41f4b71Sopenharmony_ci 600e41f4b71Sopenharmony_ci| 名称 | 描述 | 601e41f4b71Sopenharmony_ci| -------- | -------- | 602e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 603e41f4b71Sopenharmony_ci| heightRange | 输出参数。视频高度范围。 | 604e41f4b71Sopenharmony_ci 605e41f4b71Sopenharmony_ci**返回:** 606e41f4b71Sopenharmony_ci 607e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 608e41f4b71Sopenharmony_ci 609e41f4b71Sopenharmony_ci当能力实例无效,或者指向视频高度范围的指针为空指针,返回AV_ERR_INVALID_VAL。 610e41f4b71Sopenharmony_ci 611e41f4b71Sopenharmony_ci 612e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoHeightRangeForWidth() 613e41f4b71Sopenharmony_ci 614e41f4b71Sopenharmony_ci``` 615e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoHeightRangeForWidth (OH_AVCapability *capability, int32_t width, OH_AVRange *heightRange) 616e41f4b71Sopenharmony_ci``` 617e41f4b71Sopenharmony_ci**描述** 618e41f4b71Sopenharmony_ci获取指定宽度情况下视频编解码器支持的视频高度范围。 619e41f4b71Sopenharmony_ci 620e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 621e41f4b71Sopenharmony_ci 622e41f4b71Sopenharmony_ci**起始版本:** 10 623e41f4b71Sopenharmony_ci 624e41f4b71Sopenharmony_ci**参数:** 625e41f4b71Sopenharmony_ci 626e41f4b71Sopenharmony_ci| 名称 | 描述 | 627e41f4b71Sopenharmony_ci| -------- | -------- | 628e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 629e41f4b71Sopenharmony_ci| width | 视频水平像素数。 | 630e41f4b71Sopenharmony_ci| heightRange | 输出参数。视频高度范围。 | 631e41f4b71Sopenharmony_ci 632e41f4b71Sopenharmony_ci**返回:** 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 635e41f4b71Sopenharmony_ci 636e41f4b71Sopenharmony_ci当能力实例无效,或者宽度不在通过[OH_AVCapability_GetVideoWidthRange](#oh_avcapability_getvideowidthrange)获取支持的宽度范围中, 或者指向高度范围的指针为空指针,返回AV_ERR_INVALID_VAL。 637e41f4b71Sopenharmony_ci 638e41f4b71Sopenharmony_ci 639e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoSupportedPixelFormats() 640e41f4b71Sopenharmony_ci 641e41f4b71Sopenharmony_ci``` 642e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoSupportedPixelFormats (OH_AVCapability *capability, const int32_t **pixelFormats, uint32_t *pixelFormatNum) 643e41f4b71Sopenharmony_ci``` 644e41f4b71Sopenharmony_ci**描述** 645e41f4b71Sopenharmony_ci获取视频编解码器支持的视频像素格式。 646e41f4b71Sopenharmony_ci 647e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 648e41f4b71Sopenharmony_ci 649e41f4b71Sopenharmony_ci**起始版本:** 10 650e41f4b71Sopenharmony_ci 651e41f4b71Sopenharmony_ci**参数:** 652e41f4b71Sopenharmony_ci 653e41f4b71Sopenharmony_ci| 名称 | 描述 | 654e41f4b71Sopenharmony_ci| -------- | -------- | 655e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 656e41f4b71Sopenharmony_ci| pixelFormats | 输出参数。指向视频像素格式数组的指针。 | 657e41f4b71Sopenharmony_ci| pixelFormatNum | 输出参数。像素格式数组的元素数目。 | 658e41f4b71Sopenharmony_ci 659e41f4b71Sopenharmony_ci**返回:** 660e41f4b71Sopenharmony_ci 661e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 662e41f4b71Sopenharmony_ci 663e41f4b71Sopenharmony_ci当能力实例无效,或者指向视频像素格式数组的指针为空指针,或者指向像素格式数组的元素数目的指针为空指针,返回AV_ERR_INVALID_VAL。 当遇到未知错误,返回AV_ERR_UNKNOWN。 当内部使用内存分配失败,返回AV_ERR_NO_MEMORY。 664e41f4b71Sopenharmony_ci 665e41f4b71Sopenharmony_ci 666e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoWidthAlignment() 667e41f4b71Sopenharmony_ci 668e41f4b71Sopenharmony_ci``` 669e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoWidthAlignment (OH_AVCapability *capability, int32_t *widthAlignment) 670e41f4b71Sopenharmony_ci``` 671e41f4b71Sopenharmony_ci**描述** 672e41f4b71Sopenharmony_ci获取视频编解码器支持的视频宽度对齐。 673e41f4b71Sopenharmony_ci 674e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ci**起始版本:** 10 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ci**参数:** 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci| 名称 | 描述 | 681e41f4b71Sopenharmony_ci| -------- | -------- | 682e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 683e41f4b71Sopenharmony_ci| widthAlignment | 输出参数。视频宽度对齐。 | 684e41f4b71Sopenharmony_ci 685e41f4b71Sopenharmony_ci**返回:** 686e41f4b71Sopenharmony_ci 687e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 688e41f4b71Sopenharmony_ci 689e41f4b71Sopenharmony_ci当能力实例无效,或者指向视频宽度对齐的指针为空指针,返回AV_ERR_INVALID_VAL。 690e41f4b71Sopenharmony_ci 691e41f4b71Sopenharmony_ci 692e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoWidthRange() 693e41f4b71Sopenharmony_ci 694e41f4b71Sopenharmony_ci``` 695e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoWidthRange (OH_AVCapability *capability, OH_AVRange *widthRange) 696e41f4b71Sopenharmony_ci``` 697e41f4b71Sopenharmony_ci**描述** 698e41f4b71Sopenharmony_ci获取视频编解码器支持的视频宽度范围。 699e41f4b71Sopenharmony_ci 700e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 701e41f4b71Sopenharmony_ci 702e41f4b71Sopenharmony_ci**起始版本:** 10 703e41f4b71Sopenharmony_ci 704e41f4b71Sopenharmony_ci**参数:** 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci| 名称 | 描述 | 707e41f4b71Sopenharmony_ci| -------- | -------- | 708e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 709e41f4b71Sopenharmony_ci| widthRange | 输出参数。视频宽度范围。 | 710e41f4b71Sopenharmony_ci 711e41f4b71Sopenharmony_ci**返回:** 712e41f4b71Sopenharmony_ci 713e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 714e41f4b71Sopenharmony_ci 715e41f4b71Sopenharmony_ci当能力实例无效,或者指向视频宽度范围的指针为空指针,返回AV_ERR_INVALID_VAL。 716e41f4b71Sopenharmony_ci 717e41f4b71Sopenharmony_ci 718e41f4b71Sopenharmony_ci### OH_AVCapability_GetVideoWidthRangeForHeight() 719e41f4b71Sopenharmony_ci 720e41f4b71Sopenharmony_ci``` 721e41f4b71Sopenharmony_ciOH_AVErrCode OH_AVCapability_GetVideoWidthRangeForHeight (OH_AVCapability *capability, int32_t height, OH_AVRange *widthRange) 722e41f4b71Sopenharmony_ci``` 723e41f4b71Sopenharmony_ci**描述** 724e41f4b71Sopenharmony_ci获取指定高度情况下视频编解码器支持的视频宽度范围。 725e41f4b71Sopenharmony_ci 726e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 727e41f4b71Sopenharmony_ci 728e41f4b71Sopenharmony_ci**起始版本:** 10 729e41f4b71Sopenharmony_ci 730e41f4b71Sopenharmony_ci**参数:** 731e41f4b71Sopenharmony_ci 732e41f4b71Sopenharmony_ci| 名称 | 描述 | 733e41f4b71Sopenharmony_ci| -------- | -------- | 734e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 735e41f4b71Sopenharmony_ci| height | 视频垂直像素数。 | 736e41f4b71Sopenharmony_ci| widthRange | 输出参数。视频宽度范围。 | 737e41f4b71Sopenharmony_ci 738e41f4b71Sopenharmony_ci**返回:** 739e41f4b71Sopenharmony_ci 740e41f4b71Sopenharmony_ci如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。 741e41f4b71Sopenharmony_ci 742e41f4b71Sopenharmony_ci当能力实例无效,或者高度不在通过[OH_AVCapability_GetVideoHeightRange](#oh_avcapability_getvideoheightrange)获取支持的高度范围中, 或者指向宽度范围的指针为空指针,返回AV_ERR_INVALID_VAL。 743e41f4b71Sopenharmony_ci 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci### OH_AVCapability_IsEncoderBitrateModeSupported() 746e41f4b71Sopenharmony_ci 747e41f4b71Sopenharmony_ci``` 748e41f4b71Sopenharmony_cibool OH_AVCapability_IsEncoderBitrateModeSupported (OH_AVCapability *capability, OH_BitrateMode bitrateMode) 749e41f4b71Sopenharmony_ci``` 750e41f4b71Sopenharmony_ci**描述** 751e41f4b71Sopenharmony_ci检查编码器是否支持特定的比特率模式。 752e41f4b71Sopenharmony_ci 753e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 754e41f4b71Sopenharmony_ci 755e41f4b71Sopenharmony_ci**起始版本:** 10 756e41f4b71Sopenharmony_ci 757e41f4b71Sopenharmony_ci**参数:** 758e41f4b71Sopenharmony_ci 759e41f4b71Sopenharmony_ci| 名称 | 描述 | 760e41f4b71Sopenharmony_ci| -------- | -------- | 761e41f4b71Sopenharmony_ci| capability | 编码器能力指针。不能填入解码器能力指针。 | 762e41f4b71Sopenharmony_ci| bitrateMode | 比特率模式。 | 763e41f4b71Sopenharmony_ci 764e41f4b71Sopenharmony_ci**返回:** 765e41f4b71Sopenharmony_ci 766e41f4b71Sopenharmony_ci如果支持该比特率模式,则返回true;如果不支持该比特率模式,则返回false。 767e41f4b71Sopenharmony_ci 768e41f4b71Sopenharmony_ci 769e41f4b71Sopenharmony_ci### OH_AVCapability_IsFeatureSupported() 770e41f4b71Sopenharmony_ci 771e41f4b71Sopenharmony_ci``` 772e41f4b71Sopenharmony_cibool OH_AVCapability_IsFeatureSupported (OH_AVCapability *capability, OH_AVCapabilityFeature feature) 773e41f4b71Sopenharmony_ci``` 774e41f4b71Sopenharmony_ci**描述** 775e41f4b71Sopenharmony_ci检查编解码器是否支持指定特性。 776e41f4b71Sopenharmony_ci 777e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 778e41f4b71Sopenharmony_ci 779e41f4b71Sopenharmony_ci**起始版本:** 12 780e41f4b71Sopenharmony_ci 781e41f4b71Sopenharmony_ci**参数:** 782e41f4b71Sopenharmony_ci 783e41f4b71Sopenharmony_ci| 名称 | 描述 | 784e41f4b71Sopenharmony_ci| -------- | -------- | 785e41f4b71Sopenharmony_ci| capability | 编解码能力指针。 | 786e41f4b71Sopenharmony_ci| feature | 编解码特性,请参阅[OH_AVCapabilityFeature](#oh_avcapabilityfeature)。 | 787e41f4b71Sopenharmony_ci 788e41f4b71Sopenharmony_ci**返回:** 789e41f4b71Sopenharmony_ci 790e41f4b71Sopenharmony_ci如果支持该特性,则返回true。如果不支持,则为false。 791e41f4b71Sopenharmony_ci 792e41f4b71Sopenharmony_ci 793e41f4b71Sopenharmony_ci### OH_AVCapability_IsHardware() 794e41f4b71Sopenharmony_ci 795e41f4b71Sopenharmony_ci``` 796e41f4b71Sopenharmony_cibool OH_AVCapability_IsHardware (OH_AVCapability *capability) 797e41f4b71Sopenharmony_ci``` 798e41f4b71Sopenharmony_ci**描述** 799e41f4b71Sopenharmony_ci检查能力实例是否描述了硬件编解码器。 800e41f4b71Sopenharmony_ci 801e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 802e41f4b71Sopenharmony_ci 803e41f4b71Sopenharmony_ci**起始版本:** 10 804e41f4b71Sopenharmony_ci 805e41f4b71Sopenharmony_ci**参数:** 806e41f4b71Sopenharmony_ci 807e41f4b71Sopenharmony_ci| 名称 | 描述 | 808e41f4b71Sopenharmony_ci| -------- | -------- | 809e41f4b71Sopenharmony_ci| capability | 编解码能力指针。 | 810e41f4b71Sopenharmony_ci 811e41f4b71Sopenharmony_ci**返回:** 812e41f4b71Sopenharmony_ci 813e41f4b71Sopenharmony_ci如果能力实例描述的是硬件编解码器,则返回true, 如果功能实例描述的是软件编解码器,则为false。 814e41f4b71Sopenharmony_ci 815e41f4b71Sopenharmony_ci 816e41f4b71Sopenharmony_ci### OH_AVCapability_IsVideoSizeSupported() 817e41f4b71Sopenharmony_ci 818e41f4b71Sopenharmony_ci``` 819e41f4b71Sopenharmony_cibool OH_AVCapability_IsVideoSizeSupported (OH_AVCapability *capability, int32_t width, int32_t height) 820e41f4b71Sopenharmony_ci``` 821e41f4b71Sopenharmony_ci**描述** 822e41f4b71Sopenharmony_ci检查视频编解码器是否支持特定的视频大小。 823e41f4b71Sopenharmony_ci 824e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 825e41f4b71Sopenharmony_ci 826e41f4b71Sopenharmony_ci**起始版本:** 10 827e41f4b71Sopenharmony_ci 828e41f4b71Sopenharmony_ci**参数:** 829e41f4b71Sopenharmony_ci 830e41f4b71Sopenharmony_ci| 名称 | 描述 | 831e41f4b71Sopenharmony_ci| -------- | -------- | 832e41f4b71Sopenharmony_ci| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 | 833e41f4b71Sopenharmony_ci| width | 视频水平像素数。 | 834e41f4b71Sopenharmony_ci| height | 视频垂直像素数。 | 835e41f4b71Sopenharmony_ci 836e41f4b71Sopenharmony_ci**返回:** 837e41f4b71Sopenharmony_ci 838e41f4b71Sopenharmony_ci如果支持该视频大小,则返回true,如果不支持该视频大小,则返回false。 839e41f4b71Sopenharmony_ci 840e41f4b71Sopenharmony_ci 841e41f4b71Sopenharmony_ci### OH_AVCodec_GetCapability() 842e41f4b71Sopenharmony_ci 843e41f4b71Sopenharmony_ci``` 844e41f4b71Sopenharmony_ciOH_AVCapability* OH_AVCodec_GetCapability (const char *mime, bool isEncoder) 845e41f4b71Sopenharmony_ci``` 846e41f4b71Sopenharmony_ci**描述** 847e41f4b71Sopenharmony_ci获取系统推荐的编解码器能力。 848e41f4b71Sopenharmony_ci 849e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 850e41f4b71Sopenharmony_ci 851e41f4b71Sopenharmony_ci**起始版本:** 10 852e41f4b71Sopenharmony_ci 853e41f4b71Sopenharmony_ci**参数:** 854e41f4b71Sopenharmony_ci 855e41f4b71Sopenharmony_ci| 名称 | 描述 | 856e41f4b71Sopenharmony_ci| -------- | -------- | 857e41f4b71Sopenharmony_ci| mime | MIME类型描述字符串,请参阅**AVCODEC_MIME_TYPE**。 | 858e41f4b71Sopenharmony_ci| isEncoder | 编码器为true,解码器为false。 | 859e41f4b71Sopenharmony_ci 860e41f4b71Sopenharmony_ci**返回:** 861e41f4b71Sopenharmony_ci 862e41f4b71Sopenharmony_ci如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。 863e41f4b71Sopenharmony_ci 864e41f4b71Sopenharmony_ci 865e41f4b71Sopenharmony_ci### OH_AVCodec_GetCapabilityByCategory() 866e41f4b71Sopenharmony_ci 867e41f4b71Sopenharmony_ci``` 868e41f4b71Sopenharmony_ciOH_AVCapability* OH_AVCodec_GetCapabilityByCategory (const char *mime, bool isEncoder, OH_AVCodecCategory category) 869e41f4b71Sopenharmony_ci``` 870e41f4b71Sopenharmony_ci**描述** 871e41f4b71Sopenharmony_ci获取指定类别中的编解码器能力。 通过指定类别, 匹配的编解码器仅限于硬件编解码器或软件编解码器。 872e41f4b71Sopenharmony_ci 873e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Multimedia.Media.CodecBase 874e41f4b71Sopenharmony_ci 875e41f4b71Sopenharmony_ci**起始版本:** 10 876e41f4b71Sopenharmony_ci 877e41f4b71Sopenharmony_ci**参数:** 878e41f4b71Sopenharmony_ci 879e41f4b71Sopenharmony_ci| 名称 | 描述 | 880e41f4b71Sopenharmony_ci| -------- | -------- | 881e41f4b71Sopenharmony_ci| mime | MIME类型描述字符串,请参阅[AVCODEC_MIMETYPE](_codec_base.md#变量)。 | 882e41f4b71Sopenharmony_ci| isEncoder | 编码器为true,解码器为false。 | 883e41f4b71Sopenharmony_ci| category | 编解码器类别。 | 884e41f4b71Sopenharmony_ci 885e41f4b71Sopenharmony_ci**返回:** 886e41f4b71Sopenharmony_ci 887e41f4b71Sopenharmony_ci如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。 888