未验证 提交 f8b98bad 编写于 作者: O openharmony_ci 提交者: Gitee

!6964 增加hdi接口参考【不需要翻译】

Merge pull request !6964 from duangavin123/master
# HDI 接口参考
- 模块
- [Audio](_audio.md)
- [Battery](battery.md)
- [Camera](_camera.md)
- [Codec](_codec.md)
- [Display](_display.md)
- [HdfFaceAuth](_hdf_face_auth.md)
- [Input](_input.md)
- [Light](_light.md)
- [HdfPinAuth](_hdf_pin_auth.md)
- [Power](power.md)
- [Sensor](_sensor.md)
- [Thermal](thermal.md)
- [USB](_u_s_b.md)
- [HdfUserAuth](_hdf_user_auth.md)
- [Vibrator](_vibrator.md)
- [WLAN](_w_l_a_n.md)
- 头文件和结构体
- 头文件
- [audio_adapter.h](audio__adapter_8h.md)
- [audio_attribute.h](audio__attribute_8h.md)
- [audio_capture.h](audio__capture_8h.md)
- [audio_control.h](audio__control_8h.md)
- [audio_manager.h](audio__manager_8h.md)
- [audio_render.h](audio__render_8h.md)
- [audio_scene.h](audio__scene_8h.md)
- [audio_types.h](audio__types_8h.md)
- [audio_volume.h](audio__volume_8h.md)
- [codec_callback_if.h](codec__callback__if_8h.md)
- [codec_common_type.h](codec__common__type_8h.md)
- [codec_component_if.h](codec__component__if_8h.md)
- [codec_component_manager.h](codec__component__manager_8h.md)
- [codec_component_type.h](codec__component__type_8h.md)
- [display_device.h](display__device_8h.md)
- [display_gfx.h](display__gfx_8h.md)
- [display_gralloc.h](display__gralloc_8h.md)
- [display_layer.h](display__layer_8h.md)
- [display_type.h](display__type_8h.md)
- [icamera_device_callback.h](icamera__device__callback_8h.md)
- [icamera_device.h](icamera__device_8h.md)
- [icamera_host_callback.h](icamera__host__callback_8h.md)
- [icamera_host.h](icamera__host_8h.md)
- [input_controller.h](input__controller_8h.md)
- [input_manager.h](input__manager_8h.md)
- [input_reporter.h](input__reporter_8h.md)
- [input_type.h](input__type_8h.md)
- [ioffline_stream_operator.h](ioffline__stream__operator_8h.md)
- [istream_operator_callback.h](istream__operator__callback_8h.md)
- [istream_operator.h](istream__operator_8h.md)
- [light_if.h](light__if_8h.md)
- [light_type.h](light_8typeh.md)
- [sensor_if.h](sensor__if_8h.md)
- [sensor_type.h](sensor__type_8h.md)
- [types.h](types_8h.md)
- [usb_info.h](usb__info_8h.md)
- [usbd_client.h](usbd__client_8h.md)
- [usbd_subscriber.h](usbd__subscriber_8h.md)
- [usbd_type.h](usbd__type_8h.md)
- [vibrator_if.h](vibrator__if_8h.md)
- [vibrator_type.h](vibrator__type_8h.md)
- [wifi_hal_ap_feature.h](wifi__hal__ap__feature_8h.md)
- [wifi_hal_base_feature.h](wifi__hal__base__feature_8h.md)
- [wifi_hal_sta_feature.h](wifi__hal__sta__feature_8h.md)
- [wifi_hal.h](wifi__hal_8h.md)
- [IExecutor.idl](face__auth_2_i_executor_8idl.md)
- [IExecutorCallback.idl](face__auth_2_i_executor_callback_8idl.md)
- [FaceAuthTypes.idl](_face_auth_types_8idl.md)
- [PinAuthTypes.idl](_pin_auth_types_8idl.md)
- [IBatteryCallback.idl](_i_battery_callback_8idl.md)
- [IBatteryInterface.idl](_i_battery_interface_8idl.md)
- [IExecutor.idl](pin__auth_2_i_executor_8idl.md)
- [IExecutorCallback.idl](pin__auth_2_i_executor_callback_8idl.md)
- [IFaceAuthInterface.idl](_i_face_auth_interface_8idl.md)
- [IPinAuthInterface.idl](_i_pin_auth_interface_8idl.md)
- [IPowerHdiCallback.idl](_i_power_hdi_callback_8idl.md)
- [IPowerInterface.idl](_i_power_interface_8idl.md)
- [IThermalInterface.idl](_i_thermal_interface_8idl.md)
- [IThermalCallback.idl](_i_thermal_callback_8idl.md)
- [IUserAuthInterface.idl](_i_user_auth_interface_8idl.md)
- [PowerTypes.idl](_power_types_8idl.md)
- [ThermalTypes.idl](_thermal_types_8idl.md)
- [Types.idl](_types_8idl.md)
- [UserAuthTypes.idl](_user_auth_types_8idl.md)
- 结构体
- [__attribute__](____attribute____.md)
- [Alignment](_alignment.md)
- [AllocInfo](_alloc_info.md)
- [AudioAdapter](_audio_adapter.md)
- [AudioAdapterDescriptor](_audio_adapter_descriptor.md)
- [AudioAttribute](_audio_attribute.md)
- [AudioCapture](_audio_capture.md)
- [AudioControl](_audio_control.md)
- [AudioDevExtInfo](_audio_dev_ext_info.md)
- [AudioDeviceDescriptor](_audio_device_descriptor.md)
- [AudioManager](_audio_manager.md)
- [AudioMixExtInfo](_audio_mix_ext_info.md)
- [AudioMmapBufferDescripter](_audio_mmap_buffer_descripter.md)
- [AudioPort](_audio_port.md)
- [AudioPortCap](_audio_port_cap.md)
- [AudioPortCapability](_audio_port_capability.md)
- [AudioRender](_audio_render.md)
- [AudioRoute](_audio_route.md)
- [AudioRouteNode](_audio_route_node.md)
- [AudioSampleAttributes](_audio_sample_attributes.md)
- [AudioScene](_audio_scene.md)
- [AudioSceneDescriptor](_audio_scene_descriptor.md)
- [AudioSceneDescriptor::SceneDesc](union_audio_scene_descriptor_1_1_scene_desc.md)
- [AudioSessionExtInfo](_audio_session_ext_info.md)
- [AudioSubPortCapability](_audio_sub_port_capability.md)
- [AudioTimeStamp](_audio_time_stamp.md)
- [AudioVolume](_audio_volume.md)
- [AuthResultInfo](_auth_result_info.md)
- [AuthSolution](_auth_solution.md)
- [BatteryInfo](_battery_info.md)
- [BufferData](_buffer_data.md)
- [CodecCallbackType](_codec_callback_type.md)
- [CodecCompCapability](_codec_comp_capability.md)
- [CodecComponentManager](_codec_component_manager.md)
- [CodecComponentType](_codec_component_type.md)
- [CompVerInfo](_comp_ver_info.md)
- [CredentialInfo](_credential_info.md)
- [DeviceFuncs](_device_funcs.md)
- [DeviceInfo](_device_info.md)
- [DisplayCapability](_display_capability.md)
- [DisplayInfo](_display_info.md)
- [DisplayModeInfo](_display_mode_info.md)
- [EnrolledInfo](_enrolled_info.md)
- [EnrollParam](_enroll_param.md)
- [EnrollResultInfo](_enroll_resultinfo.md)
- [EventInfo](_event_info.md)
- [EventPackage](_event_package.md)
- [ExecutorInfo](_executor_info.md)
- [ExecutorInfo](_user_executor_info.md)
- [ExecutorRegisterInfo](_executor_register_info.md)
- [ExecutorSendMsg](_executor_send_msg.md)
- [GetBufferHandleUsageParams](_get_buffer_handle_usage_params.md)
- [GfxFuncs](_gfx_funcs.md)
- [GfxOpt](_gfx_opt.md)
- [GrallocFuncs](_gralloc_funcs.md)
- [HdfThermalCallbackInfo](_hdf_thermal_callback_info.md)
- [HDRCapability](_h_d_r_capability.md)
- [HDRMetaData](_h_d_r_meta_data.md)
- [IBatteryCallback](interface_i_battery_callback.md)
- [IBatteryInterface](interface_i_battery_interface.md)
- [ICircle](_i_circle.md)
- [IdentifyResultInfo](_identify_result_info.md)
- [IExecutor](interface_i_executor.md)
- [IExecutor](interface_pin_i_executor.md)
- [IExecutorCallback](interface_i_executor_callback.md)
- [IExecutorCallback](interface_pin_i_executor_callback.md)
- [IFaceAuthInterface](interface_i_face_auth_interface.md)
- [IInputInterface](_i_input_interface.md)
- [ILine](_i_line.md)
- [InputController](_input_controller.md)
- [InputExtraCmd](_input_extra_cmd.md)
- [InputManager](_input_manager.md)
- [InputReporter](_input_reporter.md)
- [InputReportEventCb](_input_report_event_cb.md)
- [IPinAuthInterface](interface_i_pin_auth_interface.md)
- [IPowerHdiCallback](interface_i_power_hdi_callback.md)
- [IPowerInterface](interface_i_power_interface.md)
- [IRect](_i_rect.md)
- [ISurface](_i_surface.md)
- [IThermalCallback](interface_i_thermal_callback.md)
- [IThermalInterface](interface_i_thermal_interface.md)
- [IUserAuthInterface](interface_i_user_auth_interface.md)
- [IWiFi](_i_wi_fi.md)
- [IWiFiAp](_i_wi_fi_ap.md)
- [IWiFiBaseFeature](_i_wi_fi_base_feature.md)
- [IWiFiSta](_i_wi_fi_sta.md)
- [LayerAlpha](_layer_alpha.md)
- [LayerBuffer](_layer_buffer.md)
- [LayerFuncs](_layer_funcs.md)
- [LayerInfo](_layer_info.md)
- [LightEffect](_light_effect.md)
- [LightFlashEffect](_light_flash_effect.md)
- [LightInfo](_light_info.md)
- [LightInterface](_light_interface.md)
- [OHOS::Camera::CaptureEndedInfo](_o_h_o_s_1_1_camera_1_1_capture_ended_info.md)
- [OHOS::Camera::CaptureErrorInfo](_o_h_o_s_1_1_camera_1_1_capture_error_info.md)
- [OHOS::Camera::CaptureInfo](_o_h_o_s_1_1_camera_1_1_capture_info.md)
- [OHOS::Camera::ICameraDevice](_o_h_o_s_1_1_camera_1_1_i_camera_device.md)
- [OHOS::Camera::ICameraDeviceCallback](_o_h_o_s_1_1_camera_1_1_i_camera_device_callback.md)
- [OHOS::Camera::ICameraHost](_o_h_o_s_1_1_camera_1_1_i_camera_host.md)
- [OHOS::Camera::ICameraHostCallback](_o_h_o_s_1_1_camera_1_1_i_camera_host_callback.md)
- [OHOS::Camera::IOfflineStreamOperator](_o_h_o_s_1_1_camera_1_1_i_offline_stream_operator.md)
- [OHOS::Camera::IStreamOperator](_o_h_o_s_1_1_camera_1_1_i_stream_operator.md)
- [OHOS::Camera::IStreamOperatorCallback](_o_h_o_s_1_1_camera_1_1_i_stream_operator_callback.md)
- [OHOS::Camera::StreamAttribute](_o_h_o_s_1_1_camera_1_1_stream_attribute.md)
- [OHOS::Camera::StreamInfo](_o_h_o_s_1_1_camera_1_1_stream_info.md)
- [OHOS::USB::UsbCtrlTransfer](_o_h_o_s_1_1_u_s_b_1_1_usb_ctrl_transfer.md)
- [OHOS::USB::UsbdClient](_o_h_o_s_1_1_u_s_b_1_1_usbd_client.md)
- [OHOS::USB::UsbDev](_o_h_o_s_1_1_u_s_b_1_1_usb_dev.md)
- [OHOS::USB::USBDeviceInfo](_o_h_o_s_1_1_u_s_b_1_1_u_s_b_device_info.md)
- [OHOS::USB::UsbdSubscriber](_o_h_o_s_1_1_u_s_b_1_1_usbd_subscriber.md)
- [OHOS::USB::UsbInfo](_o_h_o_s_1_1_u_s_b_1_1_usb_info.md)
- [OHOS::USB::UsbPipe](_o_h_o_s_1_1_u_s_b_1_1_usb_pipe.md)
- [OmxCodecBuffer](_omx_codec_buffer.md)
- [PortCap](union_port_cap.md)
- [PresentTimestamp](_present_timestamp.md)
- [PropertyObject](_property_object.md)
- [RangeValue](_range_value.md)
- [Rect](_rect.md)
- [Rectangle](_rectangle.md)
- [ScheduleInfo](_schedule_info.md)
- [SensorEvents](_sensor_events.md)
- [SensorInformation](_sensor_information.md)
- [SensorInterface](_sensor_interface.md)
- [StaInfo](_sta_info.md)
- [SupportBufferType](_support_buffer_type.md)
- [TemplateInfo](_template_info.md)
- [ThermalZoneInfo](_thermal_zone_info.md)
- [UseBufferType](_use_buffer_type.md)
- [VerifyAllocInfo](_verify_alloc_info.md)
- [VibratorInterface](_vibrator_interface.md)
- [VideoPortCap](_video_port_cap.md)
# __attribute__
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [fd](_display.md#fd) | 句柄 fd, -1代表不支持。 |
| [reserveInts](_display.md#reserveints) | reserve数组的个数。 |
| [reserve](_display.md#reserve) [0] | reserve数组。 |
| [baseAddr](_display.md#baseaddr) | 内存的初始地址。 |
| [yOffset](_display.md#yoffset) | Y的偏移量。 |
| [uOffset](_display.md#uoffset) | U的偏移量。 |
| [vOffset](_display.md#voffset) | V的偏移量。 |
| [yStride](_display.md#ystride) | Y的stride信息。 |
| [uvStride](_display.md#uvstride) | UV的stride信息。 |
| [uvStep](_display.md#uvstep) | UV的step信息。 |
## **详细描述**
扩展数据句柄结构体定义。
YUV描述信息结构体定义。
# Alignment
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [widthAlignment](#widthalignment) | 宽的对齐值。 |
| [heightAlignment](#heightalignment) | 高的对齐值。 |
## **详细描述**
对齐结构定义,包含宽高的对齐值。
## **类成员变量说明**
### heightAlignment
```
int32_t Alignment::heightAlignment
```
**描述:**
高的对齐值。
### widthAlignment
```
int32_t Alignment::widthAlignment
```
**描述:**
宽的对齐值。
# AllocInfo
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [width](_display.md#width-67) | 申请内存宽度 |
| [height](_display.md#height-67) | 申请内存高度 |
| [usage](_display.md#usage-12) | 申请内存的使用场景 |
| [format](_display.md#format-12) | 申请内存格式 |
| [expectedSize](_display.md#expectedsize) | 申请内存大小 |
## **详细描述**
定义关于要分配的内存的信息。
此差异已折叠。
# AudioAdapter
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ( [InitAllPorts](#initallports) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref241992660083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter) | 初始化一个音频适配器所有的端口驱动 [更多...](#initallports) |
| ( [CreateRender](#createrender) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref1249519733083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, const struct [AudioDeviceDescriptor](_audio_device_descriptor.md) \*desc, const struct [AudioSampleAttributes](_audio_sample_attributes.md) \*attrs, struct [AudioRender](_audio_render.md) \*\*render) | 创建一个音频播放(render)接口的对象 [更多...](#createrender) |
| ( [DestroyRender](#destroyrender) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref194522153083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, struct [AudioRender](_audio_render.md) \*render) | 销毁一个音频播放(render)接口的对象 [更多...](#destroyrender) |
| ( [CreateCapture](#createcapture) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref933286157083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, const struct [AudioDeviceDescriptor](_audio_device_descriptor.md) \*desc, const struct [AudioSampleAttributes](_audio_sample_attributes.md) \*attrs, struct [AudioCapture](_audio_capture.md) \*\*capture) | 创建一个音频录音(capture)接口的对象 [更多...](#createcapture) |
| ( [DestroyCapture](#destroycapture) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref145884804083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, struct [AudioCapture](_audio_capture.md) \*capture) | 销毁一个音频录音(capture)接口的对象 [更多...](#destroycapture) |
| ( [GetPortCapability](#getportcapability) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref974312331083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, struct [AudioPort](_audio_port.md) \*port, struct [AudioPortCapability](_audio_port_capability.md) \*capability) | 获取一个音频适配器的端口驱动的能力集 [更多...](#getportcapability) |
| ( [SetPassthroughMode](#setpassthroughmode) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref1432990851083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, struct [AudioPort](_audio_port.md) \*port, enum [AudioPortPassthroughMode](_audio.md#audioportpassthroughmode) mode) | 设置音频端口驱动的数据透传模式 [更多...](#setpassthroughmode) |
| ( [GetPassthroughMode](#getpassthroughmode) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref883432727083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, struct [AudioPort](_audio_port.md) \*port, enum [AudioPortPassthroughMode](_audio.md#audioportpassthroughmode) \*mode) | 获取音频端口驱动的数据透传模式 [更多...](#getpassthroughmode) |
| ( [UpdateAudioRoute](#updateaudioroute) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref362795572083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, const struct [AudioRoute](_audio_route.md) \*route, int32_t \*routeHandle) | 更新一个或多个发送端和接受端之间的路由 [更多...](#updateaudioroute) |
| ( [ReleaseAudioRoute](#releaseaudioroute) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357342201.xml#xref410918381083931,link:zh-cn_topic_0000001357342201.xml](zh-cn_topic_0000001357342201.xml) \*adapter, int32_t routeHandle) | 释放一个音频路由. [更多...](#releaseaudioroute) |
## **详细描述**
AudioAdapter音频适配器接口
提供音频适配器(声卡)对外支持的驱动能力,包括初始化端口、创建render、创建capture、获取端口能力集等
**参见:**
[AudioRender](_audio_render.md)
[AudioCapture](_audio_capture.md)
**Since:**
1.0
**Version:**
1.0
## **类成员变量说明**
### CreateCapture
```
int32_t(* AudioAdapter::CreateCapture) (struct AudioAdapter *adapter, const struct AudioDeviceDescriptor *desc, const struct AudioSampleAttributes *attrs, struct AudioCapture **capture)
```
**描述:**
创建一个音频录音(capture)接口的对象
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器的指针 |
| desc | 指向要启动的音频适配器的描述符的指针 |
| attrs | 指向要打开的音频采样属性的指针 |
| capture | 指向AudioCapture对象的二级指针 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetPortCapability](#getportcapability)
[DestroyCapture](#destroycapture)
### CreateRender
```
int32_t(* AudioAdapter::CreateRender) (struct AudioAdapter *adapter, const struct AudioDeviceDescriptor *desc, const struct AudioSampleAttributes *attrs, struct AudioRender **render)
```
**描述:**
创建一个音频播放(render)接口的对象
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
| desc | 待打开的音频设备描述符 |
| attrs | 待打开的音频采样属性 |
| render | 获取的音频播放接口的对象实例保存到render中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetPortCapability](#getportcapability)
[DestroyRender](#destroyrender)
### DestroyCapture
```
int32_t(* AudioAdapter::DestroyCapture) (struct AudioAdapter *adapter, struct AudioCapture *capture)
```
**描述:**
销毁一个音频录音(capture)接口的对象
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
| capture | 待操作的音频录音接口对象 |
**注意:**
在音频录音过程中,不能销毁该接口对象
**返回:**
成功返回值0,失败返回负值
**参见:**
[CreateCapture](#createcapture)
### DestroyRender
```
int32_t(* AudioAdapter::DestroyRender) (struct AudioAdapter *adapter, struct AudioRender *render)
```
**描述:**
销毁一个音频播放(render)接口的对象
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
| render | 待操作的音频播放接口对象 |
**注意:**
在音频播放过程中,不能销毁该接口对象
**返回:**
成功返回值0,失败返回负值
**参见:**
[CreateRender](#createrender)
### GetPassthroughMode
```
int(* AudioAdapter::GetPassthroughMode) (struct AudioAdapter *adapter, struct AudioPort *port, enum AudioPortPassthroughMode *mode)
```
**描述:**
获取音频端口驱动的数据透传模式
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
| port | 待获取的端口 |
| mode | 获取的传输模式保存到mode中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[SetPassthroughMode](#setpassthroughmode)
### GetPortCapability
```
int(* AudioAdapter::GetPortCapability) (struct AudioAdapter *adapter, struct AudioPort *port, struct AudioPortCapability *capability)
```
**描述:**
获取一个音频适配器的端口驱动的能力集
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
| port | 待获取的端口 |
| capability | 获取的端口能力保存到capability中 |
**返回:**
成功返回值0,失败返回负值
### InitAllPorts
```
int(* AudioAdapter::InitAllPorts) (struct AudioAdapter *adapter)
```
**描述:**
初始化一个音频适配器所有的端口驱动
在音频服务中,调用其他驱动接口前需要首先调用该接口检查端口是否已经初始化完成,如果端口驱动初始化完成,则函数返回值0, 否则返回负值,如果端口没有初始化完成,则需要等待一段时间(例如100ms)后重新进行检查,直到端口初始化完成后再继续操作
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
**返回:**
成功返回值0,失败返回负值
### ReleaseAudioRoute
```
int32_t(* AudioAdapter::ReleaseAudioRoute) (struct AudioAdapter *adapter, int32_t routeHandle)
```
**描述:**
释放一个音频路由.
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
| routeHandle | 待释放的路由句柄. |
**返回:**
成功返回值0,失败返回负值
### SetPassthroughMode
```
int(* AudioAdapter::SetPassthroughMode) (struct AudioAdapter *adapter, struct AudioPort *port, enum AudioPortPassthroughMode mode)
```
**描述:**
设置音频端口驱动的数据透传模式
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
| port | 待设置的端口 |
| mode | 待设置的传输模式 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetPassthroughMode](#getpassthroughmode)
### UpdateAudioRoute
```
int32_t(* AudioAdapter::UpdateAudioRoute) (struct AudioAdapter *adapter, const struct AudioRoute *route, int32_t *routeHandle)
```
**描述:**
更新一个或多个发送端和接受端之间的路由
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| adapter | 待操作的音频适配器对象 |
| route | 路由信息 |
| routeHandle | 生成的路由句柄 |
**返回:**
成功返回值0,失败返回负值
# AudioAdapterDescriptor
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [adapterName](_audio.md#adaptername) | 音频适配器的名称。 |
| [portNum](_audio.md#portnum) | 一个音频适配器支持的端口数目。 |
| [ports](_audio.md#ports) | 一个音频适配器支持的端口列表。 |
## **详细描述**
音频适配器描述符。
# AudioAttribute
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ( [GetFrameSize](#getframesize) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, uint64_t \*size) | 获取音频帧(frame)的大小 [更多...](#getframesize) |
| ( [GetFrameCount](#getframecount) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, uint64_t \*count) | 获取音频buffer中的音频帧数 [更多...](#getframecount) |
| ( [SetSampleAttributes](#setsampleattributes) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, const struct [AudioSampleAttributes](_audio_sample_attributes.md) \*attrs) | 设置音频采样的属性参数 [更多...](#setsampleattributes) |
| ( [GetSampleAttributes](#getsampleattributes) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, struct [AudioSampleAttributes](_audio_sample_attributes.md) \*attrs) | 获取音频采样的属性参数 [更多...](#getsampleattributes) |
| ( [GetCurrentChannelId](#getcurrentchannelid) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, uint32_t \*channelId) | 获取音频的数据通道ID [更多...](#getcurrentchannelid) |
| ( [SetExtraParams](#setextraparams) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, const char \*keyValueList) | 设置音频拓展参数 [更多...](#setextraparams) |
| ( [GetExtraParams](#getextraparams) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, char \*keyValueList) | 获取音频拓展参数 [更多...](#getextraparams) |
| ( [ReqMmapBuffer](#reqmmapbuffer) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, int32_t reqSize, struct [AudioMmapBufferDescripter](_audio_mmap_buffer_descripter.md) \*desc) | 请求mmap缓冲区 [更多...](#reqmmapbuffer) |
| ( [GetMmapPosition](#getmmapposition) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, uint64_t \*frames, struct [AudioTimeStamp](_audio_time_stamp.md) \*time) | 获取当前mmap的读/写位置 [更多...](#getmmapposition) |
## **详细描述**
AudioAttribute音频属性接口
提供音频播放(render)或录音(capture)需要的公共属性驱动能力,包括获取帧(frame)信息、设置采样属性等。
**Since:**
1.0
**Version:**
1.0
## **类成员变量说明**
### GetCurrentChannelId
```
int32_t(* AudioAttribute::GetCurrentChannelId) (AudioHandle handle, uint32_t *channelId)
```
**描述:**
获取音频的数据通道ID
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| channelId | 获取的通道ID保存到channelId中 |
**返回:**
成功返回值0,失败返回负值
### GetExtraParams
```
int32_t(* AudioAttribute::GetExtraParams) (AudioHandle handle, char *keyValueList)
```
**描述:**
获取音频拓展参数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| keyValueList | 拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割 |
**返回:**
成功返回值0,失败返回负值。
### GetFrameCount
```
int32_t(* AudioAttribute::GetFrameCount) (AudioHandle handle, uint64_t *count)
```
**描述:**
获取音频buffer中的音频帧数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| count | 一个音频buffer中包含的音频帧数,获取后保存到count中 |
**返回:**
成功返回值0,失败返回负值
### GetFrameSize
```
int32_t(* AudioAttribute::GetFrameSize) (AudioHandle handle, uint64_t *size)
```
**描述:**
获取音频帧(frame)的大小
获取一帧音频数据的长度(字节数)
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| size | 获取的音频帧大小(字节数)保存到size中 |
**返回:**
成功返回值0,失败返回负值
### GetMmapPosition
```
int32_t(* AudioAttribute::GetMmapPosition) (AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time)
```
**描述:**
获取当前mmap的读/写位置
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| frames | 获取的音频帧计数保存到frames中 |
| time | 获取的关联时间戳保存到time中 |
**返回:**
成功返回值0,失败返回负值
### GetSampleAttributes
```
int32_t(* AudioAttribute::GetSampleAttributes) (AudioHandle handle, struct AudioSampleAttributes *attrs)
```
**描述:**
获取音频采样的属性参数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| attrs | 获取的音频采样属性(例如采样频率、采样精度、通道)保存到attrs中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[SetSampleAttributes](#setsampleattributes)
### ReqMmapBuffer
```
int32_t(* AudioAttribute::ReqMmapBuffer) (AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescripter *desc)
```
**描述:**
请求mmap缓冲区
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| reqSize | 请求缓冲区的大小 |
| desc | 缓冲区描述符 |
**返回:**
成功返回值0,失败返回负值
### SetExtraParams
```
int32_t(* AudioAttribute::SetExtraParams) (AudioHandle handle, const char *keyValueList)
```
**描述:**
设置音频拓展参数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| keyValueList | 拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割 |
**返回:**
成功返回值0,失败返回负值
### SetSampleAttributes
```
int32_t(* AudioAttribute::SetSampleAttributes) (AudioHandle handle, const struct AudioSampleAttributes *attrs)
```
**描述:**
设置音频采样的属性参数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| attrs | 待设置的音频采样属性,例如采样频率、采样精度、通道 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetSampleAttributes](#getsampleattributes)
# AudioCapture
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| control | 音频控制能力接口,详情参考[AudioControl](_audio_control.md) |
| attr | 音频属性能力接口,详情参考[AudioAttribute](_audio_attribute.md) |
| scene | 音频场景能力接口,详情参考[AudioScene](_audio_scene.md) |
| volume | 音频音量能力接口,详情参考[AudioVolume](_audio_volume.md) |
| ( [CaptureFrame](#captureframe) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357621449.xml#xref1398623145083931,link:zh-cn_topic_0000001357621449.xml](zh-cn_topic_0000001357621449.xml) \*capture, void \*frame, uint64_t requestBytes, uint64_t \*replyBytes) | 从音频驱动中录制(capture)一帧输入数据(录音,音频上行数据) [更多...](#captureframe) |
| ( [GetCapturePosition](#getcaptureposition) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357621449.xml#xref599411735083931,link:zh-cn_topic_0000001357621449.xml](zh-cn_topic_0000001357621449.xml) \*capture, uint64_t \*frames, struct [AudioTimeStamp](_audio_time_stamp.md) \*time) | 获取音频输入帧数的上一次计数 [更多...](#getcaptureposition) |
## **详细描述**
AudioCapture音频录音接口。
## **类成员变量说明**
### CaptureFrame
```
int32_t(* AudioCapture::CaptureFrame) (struct AudioCapture *capture, void *frame, uint64_t requestBytes, uint64_t *replyBytes)
```
**描述:**
从音频驱动中录制(capture)一帧输入数据(录音,音频上行数据)
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 待操作的音频录音接口对象 |
| frame | 待存放输入数据的音频frame |
| requestBytes | 待存放输入数据的音频frame大小(字节数) |
| replyBytes | 实际读取到的音频数据长度(字节数),获取后保存到replyBytes中 |
**返回:**
成功返回值0,失败返回负值
### GetCapturePosition
```
int32_t(* AudioCapture::GetCapturePosition) (struct AudioCapture *capture, uint64_t *frames, struct AudioTimeStamp *time)
```
**描述:**
获取音频输入帧数的上一次计数
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 待操作的音频录音接口对象 |
| frames | 获取的音频帧计数保存到frames中 |
| time | 获取的关联时间戳保存到time中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[CaptureFrame](#captureframe)
# AudioControl
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ( [Start](#start) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle) | 启动一个音频播放(render)或录音(capture)处理 [更多...](#start) |
| ( [Stop](#stop) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle) | 停止一个音频播放(render)或录音(capture)处理 [更多...](#stop) |
| ( [Pause](#pause) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle) | 暂停一个音频播放(render)或录音(capture)处理 [更多...](#pause) |
| ( [Resume](#resume) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle) | 恢复一个音频播放(render)或录音(capture)处理 [更多...](#resume) |
| ( [Flush](#flush) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle) | 刷新音频缓冲区buffer中的数据 [更多...](#flush) |
| ( [TurnStandbyMode](#turnstandbymode) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle) | 设置或去设置设备的待机模式 [更多...](#turnstandbymode) |
| ( [AudioDevDump](#audiodevdump) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, int32_t range, int32_t fd) | Dump音频设备信息 [更多...](#audiodevdump) |
## **详细描述**
AudioControl音频控制接口。
提供音频播放(render)或录音(capture)需要的公共控制驱动能力,包括Start、Stop、Pause、Resume、Flush等。
**Since:**
1.0
**Version:**
1.0
## **类成员变量说明**
### AudioDevDump
```
int32_t(* AudioControl::AudioDevDump) (AudioHandle handle, int32_t range, int32_t fd)
```
**描述:**
Dump音频设备信息
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| range | Dump信息范围,分为简要信息、全量信息 |
| fd | 指定Dump目标文件 |
**返回:**
成功返回值0,失败返回负值
### Flush
```
int32_t(* AudioControl::Flush) (AudioHandle handle)
```
**描述:**
刷新音频缓冲区buffer中的数据
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
**返回:**
成功返回值0,失败返回负值
### Pause
```
int32_t(* AudioControl::Pause) (AudioHandle handle)
```
**描述:**
暂停一个音频播放(render)或录音(capture)处理
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[Resume](#resume)
### Resume
```
int32_t(* AudioControl::Resume) (AudioHandle handle)
```
**描述:**
恢复一个音频播放(render)或录音(capture)处理
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[Pause](#pause)
### Start
```
int32_t(* AudioControl::Start) (AudioHandle handle)
```
**描述:**
启动一个音频播放(render)或录音(capture)处理
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[Stop](#stop)
### Stop
```
int32_t(* AudioControl::Stop) (AudioHandle handle)
```
**描述:**
停止一个音频播放(render)或录音(capture)处理
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[Start](#start)
### TurnStandbyMode
```
int32_t(* AudioControl::TurnStandbyMode) (AudioHandle handle)
```
**描述:**
设置或去设置设备的待机模式
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
**返回:**
设置设备待机模式成功返回值0,再次执行后去设置待机模式成功返回正值,失败返回负值
# AudioDevExtInfo
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [moduleId](_audio.md#moduleid-12) | 音频流绑定的模块ID。 |
| [type](_audio.md#type-23) | 音频端口上的PIN脚(输出、输入),详情参考[AudioPortPin](_audio.md#audioportpin)。 |
| [desc](_audio.md#desc-55) | 地址描述。 |
## **详细描述**
音频设备拓展信息。
# AudioDeviceDescriptor
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [portId](_audio.md#portid-24) | 频端口ID。 |
| [pins](_audio.md#pins) | 音频端口上的PIN脚(输出、输入),详情参考[AudioPortPin](_audio.md#audioportpin)。 |
| [desc](_audio.md#desc-15) | 以字符串命名的音频设备。 |
## **详细描述**
音频场景描述符。
# AudioManager
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ( [GetAllAdapters](#getalladapters) )(struct AudioAdapterManager \*manager, struct [AudioAdapterDescriptor](_audio_adapter_descriptor.md) \*\*descs, int \*size) | 获取音频驱动中支持的所有适配器的列表 [更多...](#getalladapters) |
| ( [LoadAdapter](#loadadapter) )(struct AudioAdapterManager \*manager, const struct [AudioAdapterDescriptor](_audio_adapter_descriptor.md) \*desc, struct [AudioAdapter](_audio_adapter.md) \*\*adapter) | 加载一个音频适配器(声卡)的驱动 [更多...](#loadadapter) |
| ( [UnloadAdapter](#unloadadapter) )(struct AudioAdapterManager \*manager, struct [AudioAdapter](_audio_adapter.md) \*adapter) | 卸载音频适配器(声卡)的驱动 [更多...](#unloadadapter) |
| ( [ReleaseAudioManagerObject](#releaseaudiomanagerobject) )(struct [ERROR:Invalid link:zh-cn_topic_0000001304382264.xml#xref1843940824083931,link:zh-cn_topic_0000001304382264.xml](zh-cn_topic_0000001304382264.xml) \*object) | 释放音频管理接口对象 [更多...](#releaseaudiomanagerobject) |
## **详细描述**
AudioManager音频适配器管理接口
按照音频服务下发的音频适配器(声卡)描述符加载一个具体的音频适配器驱动程序
参见:
[AudioAdapter](_audio_adapter.md)
**Since:**
1.0
**Version:**
1.0
## **类成员变量说明**
### GetAllAdapters
```
int(* AudioManager::GetAllAdapters) (struct AudioAdapterManager *manager, struct AudioAdapterDescriptor **descs, int *size)
```
**描述:**
获取音频驱动中支持的所有适配器的列表
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| manager | 待操作的音频管理接口对象 |
| descs | 获取到的音频适配器列表保存到descs中 |
| size | 获取到的音频适配器列表的长度保存到size中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[LoadAdapter](#loadadapter)
### LoadAdapter
```
int(* AudioManager::LoadAdapter) (struct AudioAdapterManager *manager, const struct AudioAdapterDescriptor *desc, struct AudioAdapter **adapter)
```
**描述:**
加载一个音频适配器(声卡)的驱动
加载一个具体的音频驱动,例如usb驱动,在具体实现中可能加载的是一个动态链接库(\*.so)
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| manager | 待操作的音频管理接口对象 |
| desc | 待加载的音频适配器描述符 |
| adapter | 获取的音频适配器接口的对象实例保存到adapter中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetAllAdapters](#getalladapters)
[UnloadAdapter](#unloadadapter)
### ReleaseAudioManagerObject
```
bool(* AudioManager::ReleaseAudioManagerObject) (struct AudioManager *object)
```
**描述:**
释放音频管理接口对象
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| object | 待操作的音频管理接口对象 |
**返回:**
成功返回ture,失败返回false
### UnloadAdapter
```
void(* AudioManager::UnloadAdapter) (struct AudioAdapterManager *manager, struct AudioAdapter *adapter)
```
**描述:**
卸载音频适配器(声卡)的驱动
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| manager | 待操作的音频管理接口对象 |
| adapter | 待卸载的音频适配器接口的对象 |
**参见:**
[LoadAdapter](#loadadapter)
# AudioMixExtInfo
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [moduleId](_audio.md#moduleid-22) | 流所属模块标识符。 |
| [streamId](_audio.md#streamid-22) | 由调用者传递的Render或Capture标识符。 |
## **详细描述**
音轨拓展信息。
# AudioMmapBufferDescripter
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [memoryAddress](_audio.md#memoryaddress) | 指向mmap缓冲区的指针。 |
| [memoryFd](_audio.md#memoryfd) | mmap缓冲区的文件描述符。 |
| [totalBufferFrames](_audio.md#totalbufferframes) | 缓冲区总大小,单位:帧。 |
| [transferFrameSize](_audio.md#transferframesize) | 传输大小,单位:帧。 |
| [isShareable](_audio.md#isshareable) | mmap缓冲区是否可以在进程间共享。 |
## **详细描述**
mmap缓冲区描述符。
# AudioPort
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [dir](_audio.md#dir) | 音频端口的类型,详情参考[AudioPortDirection](_audio.md#audioportdirection)。 |
| [portId](_audio.md#portid-14) | 音频端口的ID。 |
| [portName](_audio.md#portname) | 音频端口的名称。 |
## **详细描述**
音频端口。
# AudioPortCap
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [sampleFormats](#sampleformats) [[SAMPLE_FMT_NUM](_codec.md#ga9bda75c363e9bcff915cdd521dd7ba84)] | 支持的音频采样格式,详见[AudioSampleFormat](_codec.md#audiosampleformat)。 |
| [sampleRate](#samplerate) [[SAMPLE_RATE_NUM](_codec.md#ga0d905eaa05b4b6fcec76924eb795d7fe)] | 支持的音频采样率,详见[AudioSampleRate](_codec.md#audiosamplerate)。 |
| [channelLayouts](#channellayouts) [[CHANNEL_NUM](_codec.md#ga6511732d5b29a6781cf38783157f21e1)] | 支持的音频通道数channel layouts。 |
| [channelCount](#channelcount) [[CHANNEL_NUM](_codec.md#ga6511732d5b29a6781cf38783157f21e1)] | 支持的音频通道数。 |
## **详细描述**
定义音频编解码能力。
## **类成员变量说明**
### channelCount
```
int32_t AudioPortCap::channelCount[CHANNEL_NUM]
```
**描述:**
支持的音频通道数
### channelLayouts
```
int32_t AudioPortCap::channelLayouts[CHANNEL_NUM]
```
**描述:**
支持的音频通道数channel layouts
### sampleFormats
```
int32_t AudioPortCap::sampleFormats[SAMPLE_FMT_NUM]
```
**描述:**
支持的音频采样格式,详见[AudioSampleFormat](_codec.md#audiosampleformat)
### sampleRate
```
int32_t AudioPortCap::sampleRate[SAMPLE_RATE_NUM]
```
**描述:**
支持的音频采样率,详见[AudioSampleRate](_codec.md#audiosamplerate)
# AudioPortCapability
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [deviceType](_audio.md#devicetype) | 设备输出、输入类型。 |
| [deviceId](_audio.md#deviceid) | 绑定(bind)设备ID,唯一的设备识别符。 |
| [hardwareMode](_audio.md#hardwaremode) | 是否支持设备绑定处理。 |
| [formatNum](_audio.md#formatnum) | 支持的音频格式数目。 |
| [formats](_audio.md#formats) | 支持的音频格式,详情参考[AudioFormat](_audio.md#audioformat)。 |
| [sampleRateMasks](_audio.md#sampleratemasks) | 支持的音频采样频率(8k、16k、32k、48k)。 |
| [channelMasks](_audio.md#channelmasks) | 设备的声道布局掩码(mask),详情参考[AudioChannelMask](_audio.md#audiochannelmask)。 |
| [channelCount](_audio.md#channelcount-22) | 支持的最大声道总数。 |
| [subPortsNum](_audio.md#subportsnum) | 支持的子端口数目(仅用于输出设备)。 |
| [subPorts](_audio.md#subports) | 支持的子端口列表。 |
| [supportSampleFormatNum](_audio.md#supportsampleformatnum) | 支持的音频样本格式数量。 |
| [supportSampleFormats](_audio.md#supportsampleformats) | 支持的音频样本格式,详请参考[AudioSampleFormat](_codec.md#audiosampleformat)。 |
## **详细描述**
音频端口的支持能力。
# AudioRender
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| control | 音频控制能力接口,详情参考[AudioControl](_audio_control.md) |
| attr | 音频属性能力接口,详情参考[AudioAttribute](_audio_attribute.md) |
| scene | 音频场景能力接口,详情参考[AudioScene](_audio_scene.md) |
| volume | 音频音量能力接口,详情参考[AudioVolume](_audio_volume.md) |
| ( [GetLatency](#getlatency) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref1137711430083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, uint32_t \*ms) | 获取音频硬件驱动估计的延迟时间 [更多...](#getlatency) |
| ( [RenderFrame](#renderframe) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref1032115116083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, const void \*frame, uint64_t requestBytes, uint64_t \*replyBytes) | 往音频驱动中播放(render)一帧输出数据(放音,音频下行数据) [更多...](#renderframe) |
| ( [GetRenderPosition](#getrenderposition) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref1361225145083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, uint64_t \*frames, struct [AudioTimeStamp](_audio_time_stamp.md) \*time) | 获取音频输出帧数的上一次计数 [更多...](#getrenderposition) |
| ( [SetRenderSpeed](#setrenderspeed) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref298100406083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, float speed) | 设置一个音频的播放速度 [更多...](#setrenderspeed) |
| ( [GetRenderSpeed](#getrenderspeed) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref1265100196083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, float \*speed) | 获取一个音频当前的播放速度 [更多...](#getrenderspeed) |
| ( [SetChannelMode](#setchannelmode) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref1614877322083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, enum [AudioChannelMode](_audio.md#audiochannelmode) mode) | 设置音频播放的通道模式 [更多...](#setchannelmode) |
| ( [GetChannelMode](#getchannelmode) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref1553230681083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, enum [AudioChannelMode](_audio.md#audiochannelmode) \*mode) | 获取音频播放当前的通道模式 [更多...](#getchannelmode) |
| ( [RegCallback](#regcallback) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref16984183083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, [RenderCallback](_audio.md#rendercallback) callback, void \*cookie) | 注册音频回调函数,用于放音过程中缓冲区数据写、DrainBuffer完成通知 [更多...](#regcallback) |
| ( [DrainBuffer](#drainbuffer) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357381989.xml#xref1454572723083931,link:zh-cn_topic_0000001357381989.xml](zh-cn_topic_0000001357381989.xml) \*render, enum [AudioDrainNotifyType](_audio.md#audiodrainnotifytype) \*type) | 排空缓冲区中的数据 [更多...](#drainbuffer) |
## **详细描述**
AudioRender音频播放接口
提供音频播放支持的驱动能力,包括音频控制、音频属性、音频场景、音频音量、获取硬件延迟时间、播放音频帧数据(render frame)等
**参见:**
[AudioControl](_audio_control.md)
[AudioAttribute](_audio_attribute.md)
[AudioScene](_audio_scene.md)
[AudioVolume](_audio_volume.md)
**Since:**
1.0
**Version:**
1.0
## **类成员变量说明**
### DrainBuffer
```
int32_t(* AudioRender::DrainBuffer) (struct AudioRender *render, enum AudioDrainNotifyType *type)
```
**描述:**
排空缓冲区中的数据
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| type | DrainBuffer的操作类型,详情请参考[AudioDrainNotifyType](_audio.md#audiodrainnotifytype) |
**返回:**
成功返回值0,失败返回负值
**参见:**
[RegCallback](#regcallback)
### GetChannelMode
```
int32_t(* AudioRender::GetChannelMode) (struct AudioRender *render, enum AudioChannelMode *mode)
```
**描述:**
获取音频播放当前的通道模式
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| mode | 获取的通道模式保存到mode中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[SetChannelMode](#setchannelmode)
### GetLatency
```
int32_t(* AudioRender::GetLatency) (struct AudioRender *render, uint32_t *ms)
```
**描述:**
获取音频硬件驱动估计的延迟时间
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| ms | 获取的延迟时间(单位:毫秒)保存到ms中 |
**返回:**
成功返回值0,失败返回负值
### GetRenderPosition
```
int32_t(* AudioRender::GetRenderPosition) (struct AudioRender *render, uint64_t *frames, struct AudioTimeStamp *time)
```
**描述:**
获取音频输出帧数的上一次计数
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| frames | 获取的音频帧计数保存到frames中 |
| time | 获取的关联时间戳保存到time中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[RenderFrame](#renderframe)
### GetRenderSpeed
```
int32_t(* AudioRender::GetRenderSpeed) (struct AudioRender *render, float *speed)
```
**描述:**
获取一个音频当前的播放速度
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| speed | 获取的播放速度保存到speed中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[SetRenderSpeed](#setrenderspeed)
### RegCallback
```
int32_t(* AudioRender::RegCallback) (struct AudioRender *render, RenderCallback callback, void *cookie)
```
**描述:**
注册音频回调函数,用于放音过程中缓冲区数据写、DrainBuffer完成通知
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| callback | 注册的回调函数 |
| cookie | 回调函数的入参 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[RegCallback](#regcallback)
### RenderFrame
```
int32_t(* AudioRender::RenderFrame) (struct AudioRender *render, const void *frame, uint64_t requestBytes, uint64_t *replyBytes)
```
**描述:**
往音频驱动中播放(render)一帧输出数据(放音,音频下行数据)
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| frame | 待写入的输出数据的音频frame |
| requestBytes | 待写入的输出数据的音频frame大小(字节数) |
| replyBytes | 实际写入的音频数据长度(字节数),获取后保存到replyBytes中 |
**返回:**
成功返回值0,失败返回负值
### SetChannelMode
```
int32_t(* AudioRender::SetChannelMode) (struct AudioRender *render, enum AudioChannelMode mode)
```
**描述:**
设置音频播放的通道模式
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| speed | 待设置的通道模式 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetChannelMode](#getchannelmode)
### SetRenderSpeed
```
int32_t(* AudioRender::SetRenderSpeed) (struct AudioRender *render, float speed)
```
**描述:**
设置一个音频的播放速度
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| render | 待操作的音频播放接口对象 |
| speed | 待设置的播放速度 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetRenderSpeed](#getrenderspeed)
# AudioRoute
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [sourcesNum](_audio.md#sourcesnum) | 发送端节点数量。 |
| [sources](_audio.md#sources) | 发送端列表。 |
| [sinksNum](_audio.md#sinksnum) | 接受端节点数量。 |
| [sinks](_audio.md#sinks) | 接受端列表。 |
## **详细描述**
音频路由信息。
# AudioRouteNode
## **述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [portId](_audio.md#portid-44) | 音频端口ID。 |
| [role](_audio.md#role) | 指定端口角色为sink或source。 |
| [type](_audio.md#type-33) | 指定端口类型。 |
| [device](_audio.md#device) | 设备特定信息。 |
| [mix](_audio.md#mix) | 音轨特定信息。 |
| [session](_audio.md#session) | 会话特定信息。 |
## **详细描述**
音频路由节点。
# AudioSampleAttributes
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [type](_audio.md#type-13) | 音频类型,详情参考[AudioCategory](_audio.md#audiocategory)。 |
| [interleaved](_audio.md#interleaved) | 音频数据交织的标记。 |
| [format](_audio.md#format) | 音频数据格式,详情参考[AudioFormat](_audio.md#audioformat)。 |
| [sampleRate](_audio.md#samplerate) | 音频采样频率。 |
| [channelCount](_audio.md#channelcount-12) | 音频通道数目,如单通道(mono)为1、立体声(stereo)为2。 |
| [period](_audio.md#period) | 音频采样周期。 |
| [frameSize](_audio.md#framesize) | 音频数据的帧大小。 |
| [isBigEndian](_audio.md#isbigendian) | 音频数据的大端标志。 |
| [isSignedData](_audio.md#issigneddata) | 音频数据的有符号或无符号标志。 |
| [startThreshold](_audio.md#startthreshold) | 音频渲染开始阈值。 |
| [stopThreshold](_audio.md#stopthreshold) | 音频渲染停止阈值。 |
| [silenceThreshold](_audio.md#silencethreshold) | 音频捕获缓冲区阈值。 |
| [streamId](_audio.md#streamid-12) | 渲染或捕获的音频标识符。 |
## **详细描述**
音频采样属性。
# AudioScene
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ( [CheckSceneCapability](#checkscenecapability) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, const struct [AudioSceneDescriptor](_audio_scene_descriptor.md) \*scene, bool \*supported) | 是否支持某个音频场景的配置 [更多...](#checkscenecapability) |
| ( [SelectScene](#selectscene) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, const struct [AudioSceneDescriptor](_audio_scene_descriptor.md) \*scene) | 选择音频场景 [更多...](#selectscene) |
## **详细描述**
AudioScene音频场景接口。
提供音频播放(render)或录音(capture)需要的公共场景驱动能力,包括选择音频场景等。
**Since:**
1.0
**Version:**
1.0
## **类成员变量说明**
### CheckSceneCapability
```
int32_t(* AudioScene::CheckSceneCapability) (AudioHandle handle, const struct AudioSceneDescriptor *scene, bool *supported)
```
**描述:**
是否支持某个音频场景的配置
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| scene | 待获取的音频场景描述符 |
| supported | 是否支持的状态保存到supported中,true表示支持,false表示不支持 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[SelectScene](#selectscene)
### SelectScene
```
int32_t(* AudioScene::SelectScene) (AudioHandle handle, const struct AudioSceneDescriptor *scene)
```
**描述:**
选择音频场景
- 1. 选择一个非常具体的音频场景(应用场景和输出设备的组合),例如同样是使用手机中的喇叭作为输出设备
- 在媒体播放场景scene为media_speaker
- 在语音通话免提场景scene为voice_speaker
- 2. 只是选择一个音频场景,例如使用场景为媒体播放(media)、电影播放(movie)、游戏播放(game)
- 3. 只是选择一个音频输出设备,例如输出设备为听筒(receiver)、喇叭(speaker)、有线耳机(headset)
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| scene | 待设置的音频场景描述符 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[CheckSceneCapability](#checkscenecapability)
# AudioSceneDescriptor
## **概述**
**所属模块:**
[Audio](_audio.md)[更多...](union_audio_scene_descriptor_1_1_scene_desc.md)
## **汇总**
### 类
| 类 | 描述 |
| -------- | -------- |
| [SceneDesc](union_audio_scene_descriptor_1_1_scene_desc.md) | 音频场景描述 [AudioSceneDescriptor::SceneDesc](union_audio_scene_descriptor_1_1_scene_desc.md) |
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [scene](_audio.md#scene) | 音频场景的名称。 |
| [desc](_audio.md#desc-25) | 音频设备描述符。 |
## **详细描述**
音频场景描述符。
# AudioSessionExtInfo
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [sessionType](_audio.md#sessiontype) | 音频会话类型。 |
## **详细描述**
会话拓展信息。
# AudioSubPortCapability
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [portId](_audio.md#portid-34) | 子端口ID。 |
| [desc](_audio.md#desc-45) | 以字符串命名的子端口。 |
| [mask](_audio.md#mask) | 数据透传模式,详情参考[AudioPortPassthroughMode](_audio.md#audioportpassthroughmode)。 |
## **详细描述**
音频子端口的支持能力。
# AudioTimeStamp
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [tvSec](_audio.md#tvsec) | tvSec时间,单位:秒。 |
| [tvNSec](_audio.md#tvnsec) | tvNSec时间,单位:纳秒。 |
## **详细描述**
音频时间戳。
时间定义,POSIX timespec的替代品。
# AudioVolume
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ( [SetMute](#setmute) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, bool mute) | 设置音频的静音状态 [更多...](#setmute) |
| ( [GetMute](#getmute) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, bool \*mute) | 获取音频的静音状态 [更多...](#getmute) |
| ( [SetVolume](#setvolume) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, float volume) | 设置一个音频流的音量 [更多...](#setvolume) |
| ( [GetVolume](#getvolume) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, float \*volume) | 获取一个音频流的音量 [更多...](#getvolume) |
| ( [GetGainThreshold](#getgainthreshold) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, float \*min, float \*max) | 获取音频流增益的阈值 [更多...](#getgainthreshold) |
| ( [GetGain](#getgain) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, float \*gain) | 获取音频流的增益 [更多...](#getgain) |
| ( [SetGain](#setgain) )([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79) handle, float gain) | 设置音频流的增益 [更多...](#setgain) |
## **详细描述**
AudioVolume音频音量接口。
提供音频播放(render)或录音(capture)需要的公共音量驱动能力,包括静音操作、设置音量、设置增益等。
**Since:**
1.0
**Version:**
1.0
## **类成员变量说明**
### GetGain
```
int32_t(* AudioVolume::GetGain) (AudioHandle handle, float *gain)
```
**描述:**
获取音频流的增益
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| gain | 保存当前获取到的增益到gain中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetGainThreshold](#getgainthreshold)
[SetGain](#setgain)
### GetGainThreshold
```
int32_t(* AudioVolume::GetGainThreshold) (AudioHandle handle, float *min, float *max)
```
**描述:**
获取音频流增益的阈值
在具体的功能实现中,可以根据芯片平台的实际情况来进行处理:
- 1. 可以使用实际的增益值,例如增益的范围为-50db ~ 6db
- 2. 也可以将增益范围设定为0.0~1.0,如果增益的范围为-50db ~ 6db, 则增益的映射关系为0.0表示静音,1.0表示最大增益(6db)
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| min | 获取的音频增益的阈值下限保存到min中 |
| max | 获取的音频增益的阈值上限保存到max中 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetGain](#getgain)
[SetGain](#setgain)
### GetMute
```
int32_t(* AudioVolume::GetMute) (AudioHandle handle, bool *mute)
```
**描述:**
获取音频的静音状态
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| mute | 获取的静音状态保存到mute中,true表示静音操作、false表示取消静音操作 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[SetMute](#setmute)
### GetVolume
```
int32_t(* AudioVolume::GetVolume) (AudioHandle handle, float *volume)
```
**描述:**
获取一个音频流的音量
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| volume | 获取的音量保存到volume中,范围0.0~1.0 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[SetVolume](#setvolume)
### SetGain
```
int32_t(* AudioVolume::SetGain) (AudioHandle handle, float gain)
```
**描述:**
设置音频流的增益
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| gain | gain 待设置的增益 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetGainThreshold](#getgainthreshold)
[GetGain](#getgain)
### SetMute
```
int32_t(* AudioVolume::SetMute) (AudioHandle handle, bool mute)
```
**描述:**
设置音频的静音状态
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| mute | 待设置的静音状态,true表示静音操作、false表示取消静音操作 |
**返回:**
成功返回值0,失败返回负值
**参见:**
[GetMute](#getmute)
### SetVolume
```
int32_t(* AudioVolume::SetVolume) (AudioHandle handle, float volume)
```
**描述:**
设置一个音频流的音量。
音量的取值范围是0.0~1.0,如果音频服务中的音量等级为15级(0 ~ 15), 则音量的映射关系为0.0表示静音,1.0表示最大音量等级(15)
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 待操作的音频句柄 |
| volume | 待设置的音量,范围0.0~1.0 |
**返回:**
成功返回值0,失败返回负值
# AuthResultInfo
## **概述**
**所属模块:**
[HdfUserAuth](_hdf_user_auth.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [result](#result) | 用户身份认证结果。 |
| [freezingTime](#freezingtime) | 认证方式被冻结的时间。 |
| [remainTimes](#remaintimes) | 认证方式距离被冻结的可处理认证请求次数。 |
| [msgs](#msgs) | 执行器发送的消息。 |
| [token](#token) | 用户身份认证令牌。 |
| rootSecret | 保护文件加密密钥的密钥。 |
## **详细描述**
用户身份认证结果信息。
**Since:**
3.2
**Version:**
1.0
## **类成员变量说明**
### freezingTime
```
int AuthResultInfo::freezingTime
```
**描述:**
认证方式被冻结的时间。
### msgs
```
struct ExecutorSendMsg [] AuthResultInfo::msgs
```
**描述:**
执行器发送的消息。
### remainTimes
```
int AuthResultInfo::remainTimes
```
**描述:**
认证方式距离被冻结的可处理认证请求次数。
### result
```
unsigned int AuthResultInfo::result
```
**描述:**
用户身份认证结果。
### token
```
unsigned char [] AuthResultInfo::token
```
**描述:**
用户身份认证令牌。
### rootSecret
```
unsigned char [] AuthResultInfo::rootSecret
```
**描述:**
保护文件加密密钥的密钥。
# AuthSolution
## **概述**
**所属模块:**
[HdfUserAuth](_hdf_user_auth.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [userId](#userid) | 用户ID。 |
| [authTrustLevel](#authtrustlevel) | 认证结果可信等级。 |
| [authType](#authtype) | 用户认证凭据类型AuthType}。 |
| [executorSensorHint](#executorsensorhint) | 既定用户认证凭据类型的执行器传感器提示,用于找到对应认证方式的传感器。 |
| [challenge](#challenge) | 挑战值,用于签发认证令牌。 |
## **详细描述**
认证方案。
**Since:**
3.2
**Version:**
1.0
## **类成员变量说明**
### authTrustLevel
```
unsigned int AuthSolution::authTrustLevel
```
**描述:**
认证结果可信等级。
### authType
```
enum AuthType AuthSolution::authType
```
**描述:**
用户认证凭据类型AuthType}。
### challenge
```
unsigned char [] AuthSolution::challenge
```
**描述:**
挑战值,用于签发认证令牌。
### executorSensorHint
```
unsigned int AuthSolution::executorSensorHint
```
**描述:**
既定用户认证凭据类型的执行器传感器提示,用于找到对应认证方式的传感器。
### userId
```
int AuthSolution::userId
```
**描述:**
用户ID。
# BatteryInfo
## **概述**
**所属模块:**
[Battery](battery.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [capacity](#capacity) | 表示电池的电量百分比。 |
| [voltage](#voltage) | 表示电池的电压。 |
| [temperature](#temperature) | 表示电池的温度 |
| [healthState](#healthstate) | 表示电池的健康状态。 |
| [pluggedType](#pluggedtype) | 表示电池的充电设备类型。 |
| [pluggedMaxCurrent](#pluggedmaxcurrent) | 表示电池的最大充电电流。 |
| [pluggedMaxVoltage](#pluggedmaxvoltage) | 表示电池的最大充电电压。 |
| [chargeState](#chargestate) | 表示电池的充电状态。 |
| [chargeCounter](#chargecounter) | 表示电池的充电次数。 |
| [totalEnergy](#totalenergy) | 表示电池的总容量。 |
| [curAverage](#curaverage) | 表示电池的平均电流。 |
| [curNow](#curnow) | 表示电池的实时电流。 |
| [remainEnergy](#remainenergy) | 表示电池的剩余容量。 |
| [present](#present) | 表示是否支持电池或者电池是否在位。 |
| [technology](#technology) | 表示电池的技术型号。 |
## **详细描述**
电池相关信息。
**Since:**
3.1
## **类成员变量说明**
### capacity
```
int BatteryInfo::capacity
```
**描述:**
表示电池的电量百分比。
### chargeCounter
```
int BatteryInfo::chargeCounter
```
**描述:**
表示电池的充电次数。
### chargeState
```
int BatteryInfo::chargeState
```
**描述:**
表示电池的充电状态。
### curAverage
```
int BatteryInfo::curAverage
```
**描述:**
表示电池的平均电流。
### curNow
```
int BatteryInfo::curNow
```
**描述:**
表示电池的实时电流。
### healthState
```
int BatteryInfo::healthState
```
**描述:**
表示电池的健康状态。
### pluggedMaxCurrent
```
int BatteryInfo::pluggedMaxCurrent
```
**描述:**
表示电池的最大充电电流。
### pluggedMaxVoltage
```
int BatteryInfo::pluggedMaxVoltage
```
**描述:**
表示电池的最大充电电压。
### pluggedType
```
int BatteryInfo::pluggedType
```
**描述:**
表示电池的充电设备类型。
### present
```
byte BatteryInfo::present
```
**描述:**
表示是否支持电池或者电池是否在位。
### remainEnergy
```
int BatteryInfo::remainEnergy
```
**描述:**
表示电池的剩余容量。
### technology
```
String BatteryInfo::technology
```
**描述:**
表示电池的技术型号。
### temperature
```
int BatteryInfo::temperature
```
**描述:**
表示电池的温度
### totalEnergy
```
int BatteryInfo::totalEnergy
```
**描述:**
表示电池的总容量。
### voltage
```
int BatteryInfo::voltage
```
**描述:**
表示电池的电压。
# BufferData
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [phyAddr](_display.md#phyaddr-12) | 物理内存地址。 |
| [virAddr](_display.md#viraddr) | 虚拟内存地址。 |
## **详细描述**
定义一层的缓冲区数据,包括虚拟和物理内存地址。
此差异已折叠。
此差异已折叠。
# CodecCallbackType
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [remote](_codec.md#remote) | 指向HdfRemoteService的指针。 [更多...](_codec.md#remote) |
| ( [EventHandler](_codec.md#eventhandler) )(struct [ERROR:Invalid link:zh-cn_topic_0000001304382300.xml#xref452479393083931,link:zh-cn_topic_0000001304382300.xml](zh-cn_topic_0000001304382300.xml) \*self, enum OMX_EVENTTYPE event, struct [EventInfo](_event_info.md) \*info) | 事件上报。 [更多...](_codec.md#eventhandler) |
| ( [EmptyBufferDone](_codec.md#emptybufferdone) )(struct [ERROR:Invalid link:zh-cn_topic_0000001304382300.xml#xref1077915705083931,link:zh-cn_topic_0000001304382300.xml](zh-cn_topic_0000001304382300.xml) \*self, int8_t \*appData, uint32_t appDataLen, const struct [OmxCodecBuffer](_omx_codec_buffer.md) \*buffer) | 上报输入buffer编码或者解码处理完毕。 [更多...](_codec.md#emptybufferdone) |
| ( [FillBufferDone](_codec.md#fillbufferdone) )(struct [ERROR:Invalid link:zh-cn_topic_0000001304382300.xml#xref1123615867083931,link:zh-cn_topic_0000001304382300.xml](zh-cn_topic_0000001304382300.xml) \*self, int8_t \*appData, uint32_t appDataLen, struct [OmxCodecBuffer](_omx_codec_buffer.md) \*buffer) | 上报输出buffer填充完毕。 [更多...](_codec.md#fillbufferdone) |
## **详细描述**
Codec回调接口定义。
提供了以下3种回调函数:
- 组件错误事件、命令完成事件、端口设置等事件回调,详见EventHandler。
- 输入端口处理完buffer回调,详见EmptyBufferDone。
- 输出端口填充完buffer回调,详见FillBufferDone。 通过以下两种方式注册回调:
- 创建组件时,通过CreateComponent方法。
- 当组件处于OMX_StateLoaded状态时,通过SetCallbacks方法注册回调。
# CodecCompCapability
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [role](#role) | 媒体类型。 |
| [type](#type) | 编解码类型。 |
| [compName](#compname) [[NAME_LENGTH](_codec.md#gaf71324c57f05ff9e24bd384925dd6b17)] | 编解码组件名称。 |
| [supportProfiles](#supportprofiles) [[PROFILE_NUM](_codec.md#gaab6353cb3662bdc672ae8ab90df529ce)] | 支持的profiles,详见[Profile](_codec.md#profile)。 |
| [maxInst](#maxinst) | 最大实例。 |
| [isSoftwareCodec](#issoftwarecodec) | 软件编解码还是硬件编解码。 |
| [processModeMask](#processmodemask) | 编解码处理模式掩码,详见[CodecProcessMode](_codec.md#codecprocessmode)。 |
| [capsMask](#capsmask) | 编解码播放能力掩码,详见[CodecCapsMask](_codec.md#codeccapsmask)。 |
| [bitRate](#bitrate) | 支持的码率范围。 |
| [port](#port) | 支持的音视频编解码能力。 |
## **详细描述**
定义Codec编解码能力。
## **类成员变量说明**
### bitRate
```
RangeValue CodecCompCapability::bitRate
```
**描述:**
支持的码率范围
### capsMask
```
uint32_t CodecCompCapability::capsMask
```
**描述:**
编解码播放能力掩码,详见[CodecCapsMask](_codec.md#codeccapsmask).
### compName
```
char CodecCompCapability::compName[NAME_LENGTH]
```
**描述:**
编解码组件名称
### isSoftwareCodec
```
bool CodecCompCapability::isSoftwareCodec
```
**描述:**
软件编解码还是硬件编解码
### maxInst
```
int32_t CodecCompCapability::maxInst
```
**描述:**
最大实例
### port
```
PortCap CodecCompCapability::port
```
**描述:**
支持的音视频编解码能力
### processModeMask
```
int32_t CodecCompCapability::processModeMask
```
**描述:**
编解码处理模式掩码,详见[CodecProcessMode](_codec.md#codecprocessmode).
### role
```
AvCodecRole CodecCompCapability::role
```
**描述:**
媒体类型
### supportProfiles
```
int32_t CodecCompCapability::supportProfiles[PROFILE_NUM]
```
**描述:**
支持的profiles,详见[Profile](_codec.md#profile)
### type
```
CodecType CodecCompCapability::type
```
**描述:**
编解码类型
# CodecComponentManager
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ([GetComponentNum](#getcomponentnum) )() | 获取Codec编解码组件数量。 [更多...](#getcomponentnum) |
| ( [GetComponentCapabilityList](#getcomponentcapabilitylist) )([CodecCompCapability](_codec_comp_capability.md) \*capList, int32_t count) | 获取编解码能力集表。 [更多...](#getcomponentcapabilitylist) |
| ( [CreateComponent](#createcomponent) )(struct [CodecComponentType](_codec_component_type.md) \*\*component, char \*compName, void \*appData, int32_t appDataSize, struct [CodecCallbackType](_codec_callback_type.md) \*callbacks) | 创建Codec组件实例。 [更多...](#createcomponent) |
| ( [DestroyComponent](#destroycomponent))(struct [CodecComponentType](_codec_component_type.md) \*component) | 销毁组件实例。 [更多...](#destroycomponent) |
## **详细描述**
Codec组件管理类接口定义。
主要提供以下功能:
- 获取Codec编解码组件数量以及编解码能力集表。
- 创建/销毁Codec组件。
## **类成员变量说明**
### CreateComponent
```
int32_t(* CodecComponentManager::CreateComponent) (struct CodecComponentType **component, char *compName, void *appData, int32_t appDataSize, struct CodecCallbackType *callbacks)
```
**描述:**
创建Codec组件实例。
根据组件名称创建Codec组件实例。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| component | 输出参数,指向Codec组件的指针。 |
| compName | 输入参数,组件名称。 |
| appData | 输入参数,指向应用程序定义的值的指针,该值将在回调期间返回。 |
| appDataSize | 输入参数,appData字节数。 |
| callbacks | 输入参数,回调接口,指向OMX_CALLBACKTYPE结构的指针,详见[CodecCallbackType](_codec_callback_type.md)。 |
**返回:**
HDF_SUCCESS 表示创建组件成功。
HDF_ERR_INVALID_PARAM 表示参数无效,创建组件失败。
HDF_ERR_INVALID_OBJECT 表示对象无效,创建组件失败。
HDF_ERR_MALLOC_FAIL 表示申请内存失败,创建组件失败。
### DestroyComponent
```
int32_t(* CodecComponentManager::DestroyComponent) (struct CodecComponentType *component)
```
**描述:**
销毁组件实例。
销毁指定的Codec组件。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| component | 输入参数,需要销毁的Codec组件。 |
**返回:**
HDF_SUCCESS 表示销毁组件成功。
HDF_ERR_INVALID_PARAM 表示参数无效,销毁组件失败。
HDF_ERR_INVALID_OBJECT 表示对象无效,销毁组件失败。
HDF_ERR_MALLOC_FAIL 表示申请内存失败,销毁组件失败。
### GetComponentCapabilityList
```
int32_t(* CodecComponentManager::GetComponentCapabilityList) (CodecCompCapability *capList, int32_t count)
```
**描述:**
获取编解码能力集表。
用户可通过此接口了解Codec模块提供了哪些编解码能力,对应的能力体现在[CodecCompCapability](_codec_comp_capability.md)结构体。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capList | 输出参数,返回全部组件的能力集表[CodecCompCapability](_codec_comp_capability.md)。 |
| count | 输入参数,编解码组件数量,由[GetComponentNum](#getcomponentnum)获得。 |
**返回:**
HDF_SUCCESS 表示获取能力集表成功。
HDF_ERR_INVALID_PARAM 表示参数无效,获取能力集表失败。
HDF_ERR_INVALID_OBJECT 表示对象无效,获取能力集表失败。
HDF_ERR_MALLOC_FAIL 表示申请内存失败,获取能力集表失败。
### GetComponentNum
```
int32_t(* CodecComponentManager::GetComponentNum) ()
```
**描述:**
获取Codec编解码组件数量。
通过此接口获取Codec编解码组件数量,用来获取全部编解码能力集。
**返回:**
Codec编解码组件数量。
# CodecComponentType
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ( [GetComponentVersion](_codec.md#getcomponentversion) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1521256091083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, struct [CompVerInfo](_comp_ver_info.md) \*verInfo) | 获取Codec组件版本号。 [更多...](_codec.md#getcomponentversion) |
| ( [SendCommand](_codec.md#sendcommand) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref2020788308083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, enum OMX_COMMANDTYPE cmd, uint32_t param, int8_t \*cmdData, uint32_t cmdDataLen) | 发送命令给组件。 [更多...](_codec.md#sendcommand) |
| ( [GetParameter](_codec.md#getparameter) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref2071182762083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint32_t paramIndex, int8_t \*paramStruct, uint32_t paramStructLen) | 获取组件参数设置。 [更多...](_codec.md#getparameter) |
| ( [SetParameter](_codec.md#setparameter) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1874982936083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint32_t index, int8_t \*paramStruct, uint32_t paramStructLen) | 设置组件需要的参数。 [更多...](_codec.md#setparameter) |
| ( [GetConfig](_codec.md#getconfig) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref921941812083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint32_t index, int8_t \*cfgStruct, uint32_t cfgStructLen) | 获取组件的配置结构。 [更多...](_codec.md#getconfig) |
| ( [SetConfig](_codec.md#setconfig) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1073566491083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint32_t index, int8_t \*cfgStruct, uint32_t cfgStructLen) | 设置组件的配置。 [更多...](_codec.md#setconfig) |
| ( [GetExtensionIndex](_codec.md#getextensionindex) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref68113596083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, const char \*paramName, uint32_t \*indexType) | 根据字符串获取组件的扩展索引。 [更多...](_codec.md#getextensionindex) |
| ( [GetState](_codec.md#getstate) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1226754841083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, enum OMX_STATETYPE \*state) | 获取组件的当前状态。 [更多...](_codec.md#getstate) |
| ( [ComponentTunnelRequest](_codec.md#componenttunnelrequest) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1739461855083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint32_t port, int32_t tunneledComp, uint32_t tunneledPort, struct OMX_TUNNELSETUPTYPE \*tunnelSetup) | 设置组件采用Tunnel方式通信。 [更多...](_codec.md#componenttunnelrequest) |
| ( [UseBuffer](_codec.md#usebuffer) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref2135329427083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint32_t portIndex, struct [OmxCodecBuffer](_omx_codec_buffer.md) \*buffer) | 指定组件端口的buffer。 [更多...](_codec.md#usebuffer) |
| ( [AllocateBuffer](_codec.md#allocatebuffer) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref857621490083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint32_t portIndex, struct [OmxCodecBuffer](_omx_codec_buffer.md) \*buffer) | 向组件申请端口buffer。 [更多...](_codec.md#allocatebuffer) |
| ( [FreeBuffer](_codec.md#freebuffer) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1026220701083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint32_t portIndex, const struct [OmxCodecBuffer](_omx_codec_buffer.md) \*buffer) | 释放buffer。 [更多...](_codec.md#freebuffer) |
| ( [EmptyThisBuffer](_codec.md#emptythisbuffer) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1735359869083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, const struct [OmxCodecBuffer](_omx_codec_buffer.md) \*buffer) | 编解码输入待处理buffer。 [更多...](_codec.md#emptythisbuffer) |
| ( [FillThisBuffer](_codec.md#fillthisbuffer) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1574208746083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, const struct [OmxCodecBuffer](_omx_codec_buffer.md) \*buffer) | 编解码输出填充buffer。 [更多...](_codec.md#fillthisbuffer) |
| ( [SetCallbacks](_codec.md#setcallbacks) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1922857471083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, struct [CodecCallbackType](_codec_callback_type.md) \*callback, int8_t \*appData, uint32_t appDataLen) | 设置Codec组件的回调函数。 [更多...](_codec.md#setcallbacks) |
| ( [ComponentDeInit](_codec.md#componentdeinit) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1721252790083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self) | 组件去初始化。 [更多...](_codec.md#componentdeinit) |
| ( [UseEglImage](_codec.md#useeglimage) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref872648430083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, struct [OmxCodecBuffer](_omx_codec_buffer.md) \*buffer, uint32_t portIndex, int8_t \*eglImage, uint32_t eglImageLen) | 使用已在EGL中申请的空间。 [更多...](_codec.md#useeglimage) |
| ( [ComponentRoleEnum](_codec.md#componentroleenum) )(struct [ERROR:Invalid link:zh-cn_topic_0000001357501829.xml#xref1661834974083931,link:zh-cn_topic_0000001357501829.xml](zh-cn_topic_0000001357501829.xml) \*self, uint8_t \*role, uint32_t roleLen, uint32_t index) | 获取组件角色。 [更多...](_codec.md#componentroleenum) |
## **详细描述**
Codec组件接口定义。
主要提供以下功能:
- 获取组件的版本。
- 组件参数配置的获取和设置。
- 发送命令至组件及获取组件状态。
- 设置回调函数。
- 设置/释放组件使用的buffer。
- 编解码输入输出buffer处理 具体方法使用详见函数说明。
# CompVerInfo
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [compName](#compname) [[NAME_LENGTH](_codec.md#gaf71324c57f05ff9e24bd384925dd6b17)] | 组件名称 |
| [compUUID](#compuuid) [[UUID_LENGTH](_codec.md#ga9226162b034cc837cd977f0fcf611c2c)] | 组件的UUID标识符 |
| [compVersion](#compversion) | OMX组件版本信息 |
| [specVersion](#specversion) | 构建组件所依据的规范的版本信息 |
## **Details**
## **详细描述**
## **类成员变量说明**
### compName
```
char CompVerInfo::compName[NAME_LENGTH]
```
**描述:**
组件名称
### compUUID
```
uint8_t CompVerInfo::compUUID[UUID_LENGTH]
```
**描述:**
组件的UUID标识符
### compVersion
```
union OMX_VERSIONTYPE CompVerInfo::compVersion
```
**描述:**
OMX组件版本信息
### specVersion
```
union OMX_VERSIONTYPE CompVerInfo::specVersion
```
**描述:**
构建组件所依据的规范的版本信息
# CredentialInfo
## **概述**
**所属模块:**
[HdfUserAuth](_hdf_user_auth.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [credentialId](#credentialid) | 认证凭据ID。 |
| [index](#index) | 用户认证框架的执行器索引。 |
| [templateId](#templateid) | 认证凭据模版ID。 |
| [authType](#authtype) | 用户认证凭据类型AuthType。 |
| [executorMatcher](#executormatcher) | 执行器匹配器。 |
| [executorSensorHint](#executorsensorhint) | 既定用户认证凭据类型的执行器传感器提示,用于找到对应认证方式的传感器。 |
## **详细描述**
认证凭据信息。
**自动:**
3.2
**Version:**
1.0
## **类成员变量说明**
### authType
```
enum AuthType CredentialInfo::authType
```
**描述:**
用户认证凭据类型。
### credentialId
```
unsigned long CredentialInfo::credentialId
```
**描述:**
认证凭据ID。
### executorSensorHint
```
unsigned int CredentialInfo::executorSensorHint
```
**描述:**
既定用户认证凭据类型的执行器传感器提示,用于找到对应认证方式的传感器。
### executorMatcher
```
unsigned int CredentialInfo::executorMatcher
```
**描述:**
执行器匹配器。
### index
```
unsigned long CredentialInfo::index
```
**描述:**
用户认证框架的执行器索引。
### templateId
```
unsigned long CredentialInfo::templateId
```
**描述:**
认证凭据模版ID。
# DeviceFuncs
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| ( **RegHotPlugCallback** )(HotPlugCallback callback, void \*data) | 注册热插拔事件回调 |
| ( **RegDisplayVBlankCallback** )(uint32_t devId, VBlankCallback callback, void \*data) | 注册VBlank事件回调。 |
| ( **RegDisplayRefreshCallback** )(uint32_t devId, RefreshCallback callback, void \*data) | 刷新请求回调。 |
| ( **GetDisplayCapability** )(uint32_t devId, [DisplayCapability](_display_capability.md) \*info) | 获取显示设备能力集。 |
| ( **GetDisplaySupportedModes** )(uint32_t devId, uint32_t \*num, [DisplayModeInfo](_display_mode_info.md) \*modes) | 获取显示设备支持的显示模式信息。 |
| ( **GetDisplayMode** )(uint32_t devId, uint32_t \*modeId) | 获取显示设备当前的显示模式。 |
| ( **SetDisplayMode** )(uint32_t devId, uint32_t modeId) | 设置显示设备的显示模式。 |
| ( **GetDisplayPowerStatus** )(uint32_t devId, [DispPowerStatus](_display.md#disppowerstatus) \*status) | 获取显示设备当前的电源状态。 |
| ( **SetDisplayPowerStatus** )(uint32_t devId, [DispPowerStatus](_display.md#disppowerstatus) status) | 设置显示设备当前的电源状态。 |
| ( **GetDisplayBacklight** )(uint32_t devId, uint32_t \*level) | 获取显示设备当前的背光值。 |
| ( **SetDisplayBacklight** )(uint32_t devId, uint32_t level) | 设置显示设备当前的背光值。 |
| ( **GetDisplayProperty** )(uint32_t devId, uint32_t id, uint64_t \*value) | 获取显示设备属性值。 |
| ( **SetDisplayProperty** )(uint32_t devId, uint32_t id, uint64_t value) | 设置显示设备属性值。 |
| ( **PrepareDisplayLayers** )(uint32_t devId, bool \*needFlushFb) | 显示设备合成前准备 |
| ( **GetDisplayCompChange** )(uint32_t devId, uint32_t \*num, uint32_t \*Layers, int32_t \*type) | 获取显示设备合成类型有变化的layer |
| ( **SetDisplayClientCrop** )(uint32_t devId, [IRect](_i_rect.md) \*rect) | 设置显示设备的裁剪区域。 |
| ( **SetDisplayClientDestRect** )(uint32_t devId, [IRect](_i_rect.md) \*rect) | 设置显示设备的显示区域。 |
| ( **SetDisplayClientBuffer** )(uint32_t devId, const BufferHandle \*buffer, int32_t fence) | 设置显示设备的显示缓存。 |
| ( **SetDisplayClientDamage** )(uint32_t devId, uint32_t num, [IRect](_i_rect.md) \*rect) | 设置显示设备的显示脏区 |
| ( **SetDisplayVsyncEnabled** )(uint32_t devId, bool enabled) | 使能垂直同步信号。 |
| ( **GetDisplayReleaseFence** )(uint32_t devId, uint32_t \*num, uint32_t \*layers, int32_t \*fences) | 获取显示图层fence。 |
| ( **GetDisplaySupportedColorGamuts** )(uint32_t devId, uint32_t \*num, [ColorGamut](_display.md#colorgamut) \*gamuts) | 获取显示设备支持的色域信息。 |
| ( **GetDisplayColorGamut** )(uint32_t devId, [ColorGamut](_display.md#colorgamut) \*gamut) | 获取显示设备当前的色域模式。 |
| ( **SetDisplayColorGamut** )(uint32_t devId, [ColorGamut](_display.md#colorgamut) gamut) | 设置显示设备当前的色域模式。 |
| ( **GetDisplayGamutMap** )(uint32_t devId, [GamutMap](_display.md#gamutmap) \*gamutMap) | 获取显示设备当前的色域映射模式。 |
| ( **SetDisplayGamutMap** )(uint32_t devId, [GamutMap](_display.md#gamutmap) gamutMap) | 设置显示设备当前的色域映射模式。 |
| ( **SetDisplayColorTransform** )(uint32_t devId, const float \*matrix) | 设置显示设备当前的4x4的颜色转换矩阵。 |
| ( **GetHDRCapabilityInfos** )(uint32_t devId, [HDRCapability](_h_d_r_capability.md) \*info) | 获取显示设备支持的HDR属性信息。 |
| ( **GetSupportedMetadataKey** )(uint32_t devId, uint32_t \*num, [HDRMetadataKey](_display.md#hdrmetadatakey) \*keys) | 获取显示设备支持的 HDRMetadataKey。 |
| ( **Commit** )(uint32_t devId, int32_t \*fence) | 提交合成送显请求。 |
| ( **InvokeDisplayCmd** )(uint32_t devId,...) | 调用显示设备命令。 |
| ( **CreateVirtualDisplay** )(uint32_t width, uint32_t height, int32_t \*format, uint32_t \*devId) | 创建虚拟显示设备。 |
| ( **DestroyVirtualDisplay** )(uint32_t devId) | 销毁虚拟显示设备。 |
| ( **SetVirtualDisplayBuffer** )(uint32_t devId, BufferHandle \*buffer, int32_t fence) | 设置虚拟屏的输出缓存。 |
| ( **GetWriteBackFrame** )(uint32_t devId, BufferHandle \*buffer, int32_t \*fence) | 获取显示设备的回写帧。 |
| ( **CreateWriteBack** )(uint32_t \*devId, uint32_t width, uint32_t height, int32_t \*format) | 对指定显示设备创建回写点。 |
| ( **DestroyWriteBack** )(uint32_t devId) | 销毁指定显示设备的回写点。 |
## **详细描述**
显示设备控制接口结构体,定义显示设备控制接口函数指针。
此差异已折叠。
此差异已折叠。
# DisplayCapability
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [name](_display.md#name-22) [PROPERTY_NAME_LEN] | 显示设备名称 |
| [type](_display.md#type-23) | 显示屏接口类型 |
| [phyWidth](_display.md#phywidth) | 物理宽度 |
| [phyHeight](_display.md#phyheight) | 物理高度 |
| [supportLayers](_display.md#supportlayers) | 支持的图层数 |
| [virtualDispCount](_display.md#virtualdispcount) | 支持的虚拟屏数 |
| [supportWriteBack](_display.md#supportwriteback) | 是否支持回写 |
| [propertyCount](_display.md#propertycount) | 属性数组大小 |
| [props](_display.md#props) | 属性数组 |
## **详细描述**
定义输出性能。
# DisplayInfo
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [width](_display.md#width-17) | 显示屏宽度 |
| [height](_display.md#height-17) | 显示屏高度 |
| [rotAngle](_display.md#rotangle) | 显示屏旋转角度 |
## **详细描述**
定义显示信息结构体。
# DisplayModeInfo
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [width](_display.md#width-57) | 像素宽度 |
| [height](_display.md#height-57) | 像素高度 |
| [freshRate](_display.md#freshrate) | 刷新速率 |
| [id](_display.md#id) | 模式ID |
## **详细描述**
定义输出模式信息。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
# GfxOpt
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public 属性 | 描述 |
| -------- | -------- |
| [enGlobalAlpha](_display.md#englobalalpha-22) | 全局alpha使能标志 |
| [globalAlpha](_display.md#globalalpha) | 全局alpha的值 |
| [enPixelAlpha](_display.md#enpixelalpha-22) | 像素alpha使能标志 |
| [blendType](_display.md#blendtype) | 混合方式 |
| [colorKeyFrom](_display.md#colorkeyfrom) | 色键模式 |
| [enableRop](_display.md#enablerop) | Rop功能使能位 |
| [colorRopType](_display.md#colorroptype) | 颜色的Rop类型 |
| [alphaRopType](_display.md#alpharoptype) | Alpha的Rop类型 |
| [enableScale](_display.md#enablescale) | 缩放功能使能位 |
| [rotateType](_display.md#rotatetype) | 旋转类型 |
| [mirrorType](_display.md#mirrortype) | 镜像类型 |
## **详细描述**
图像硬件加速相关的操作选项结构体定义,用于图像硬件加速时的操作选项。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册