提交 c4208a47 编写于 作者: D duangavin123

hdi api

Signed-off-by: Nduangavin123 <duanxichao@huawei.com>
上级 68843626
# Native API参数参考
- NativeAPI参考
- [Audio](_audio.md)
- [Battery](battery.md)
- [Camera](_camera.md)
- [Codec](_codec.md)
- [Display](_display.md)
- [DAC](_d_a_c.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)
- [dac_if.h](dac__if_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)
- [DacIoMsg](_dac_io_msg.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)
- [EventInfo](_event_info.md)
- [EventPackage](_event_package.md)
- [ExecutorInfo](_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&nbsp;属性 | 描述 |
| -------- | -------- |
| [fd](_display.md#fd) | 句柄&nbsp;fd,&nbsp;-1代表不支持。 |
| [reserveInts](_display.md#reserveints) | reserve数组的个数。 |
| [reserve](_display.md#reserve)&nbsp;[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&nbsp;属性 | 描述 |
| -------- | -------- |
| [widthAlignment](#widthalignment) | 宽的对齐值。 |
| [heightAlignment](#heightalignment) | 高的对齐值。 |
## **详细描述**
对齐结构定义,包含宽高的对齐值。
## **类成员变量说明**
### heightAlignment
```
int32_t Alignment::heightAlignment
```
**描述:**
高的对齐值。
### widthAlignment
```
int32_t Alignment::widthAlignment
```
**描述:**
宽的对齐值。
# AllocInfo
## **概述**
**所属模块:**
[Display](_display.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| (&nbsp;[InitAllPorts](#initallports)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref241992660083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter) | 初始化一个音频适配器所有的端口驱动&nbsp;[更多...](#initallports) |
| (&nbsp;[CreateRender](#createrender)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref1249519733083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;const&nbsp;struct&nbsp;[AudioDeviceDescriptor](_audio_device_descriptor.md)&nbsp;\*desc,&nbsp;const&nbsp;struct&nbsp;[AudioSampleAttributes](_audio_sample_attributes.md)&nbsp;\*attrs,&nbsp;struct&nbsp;[AudioRender](_audio_render.md)&nbsp;\*\*render) | 创建一个音频播放(render)接口的对象&nbsp;[更多...](#createrender) |
| (&nbsp;[DestroyRender](#destroyrender)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref194522153083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;struct&nbsp;[AudioRender](_audio_render.md)&nbsp;\*render) | 销毁一个音频播放(render)接口的对象&nbsp;[更多...](#destroyrender) |
| (&nbsp;[CreateCapture](#createcapture)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref933286157083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;const&nbsp;struct&nbsp;[AudioDeviceDescriptor](_audio_device_descriptor.md)&nbsp;\*desc,&nbsp;const&nbsp;struct&nbsp;[AudioSampleAttributes](_audio_sample_attributes.md)&nbsp;\*attrs,&nbsp;struct&nbsp;[AudioCapture](_audio_capture.md)&nbsp;\*\*capture) | 创建一个音频录音(capture)接口的对象&nbsp;[更多...](#createcapture) |
| (&nbsp;[DestroyCapture](#destroycapture)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref145884804083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;struct&nbsp;[AudioCapture](_audio_capture.md)&nbsp;\*capture) | 销毁一个音频录音(capture)接口的对象&nbsp;[更多...](#destroycapture) |
| (&nbsp;[GetPortCapability](#getportcapability)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref974312331083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;struct&nbsp;[AudioPort](_audio_port.md)&nbsp;\*port,&nbsp;struct&nbsp;[AudioPortCapability](_audio_port_capability.md)&nbsp;\*capability) | 获取一个音频适配器的端口驱动的能力集&nbsp;[更多...](#getportcapability) |
| (&nbsp;[SetPassthroughMode](#setpassthroughmode)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref1432990851083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;struct&nbsp;[AudioPort](_audio_port.md)&nbsp;\*port,&nbsp;enum&nbsp;[AudioPortPassthroughMode](_audio.md#audioportpassthroughmode)&nbsp;mode) | 设置音频端口驱动的数据透传模式&nbsp;[更多...](#setpassthroughmode) |
| (&nbsp;[GetPassthroughMode](#getpassthroughmode)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref883432727083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;struct&nbsp;[AudioPort](_audio_port.md)&nbsp;\*port,&nbsp;enum&nbsp;[AudioPortPassthroughMode](_audio.md#audioportpassthroughmode)&nbsp;\*mode) | 获取音频端口驱动的数据透传模式&nbsp;[更多...](#getpassthroughmode) |
| (&nbsp;[UpdateAudioRoute](#updateaudioroute)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref362795572083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;const&nbsp;struct&nbsp;[AudioRoute](_audio_route.md)&nbsp;\*route,&nbsp;int32_t&nbsp;\*routeHandle) | 更新一个或多个发送端和接受端之间的路由&nbsp;[更多...](#updateaudioroute) |
| (&nbsp;[ReleaseAudioRoute](#releaseaudioroute)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295254292.xml#xref410918381083931,link:zh-cn_topic_0000001295254292.xml](zh-cn_topic_0000001295254292.xml)&nbsp;\*adapter,&nbsp;int32_t&nbsp;routeHandle) | 释放一个音频路由.&nbsp;[更多...](#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&nbsp;属性 | 描述 |
| -------- | -------- |
| [adapterName](_audio.md#adaptername) | 音频适配器的名称。 |
| [portNum](_audio.md#portnum) | 一个音频适配器支持的端口数目。 |
| [ports](_audio.md#ports) | 一个音频适配器支持的端口列表。 |
## **详细描述**
音频适配器描述符。
# AudioAttribute
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| (&nbsp;[GetFrameSize](#getframesize)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;uint64_t&nbsp;\*size) | 获取音频帧(frame)的大小&nbsp;[更多...](#getframesize) |
| (&nbsp;[GetFrameCount](#getframecount)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;uint64_t&nbsp;\*count) | 获取音频buffer中的音频帧数&nbsp;[更多...](#getframecount) |
| (&nbsp;[SetSampleAttributes](#setsampleattributes)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;const&nbsp;struct&nbsp;[AudioSampleAttributes](_audio_sample_attributes.md)&nbsp;\*attrs) | 设置音频采样的属性参数&nbsp;[更多...](#setsampleattributes) |
| (&nbsp;[GetSampleAttributes](#getsampleattributes)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;struct&nbsp;[AudioSampleAttributes](_audio_sample_attributes.md)&nbsp;\*attrs) | 获取音频采样的属性参数&nbsp;[更多...](#getsampleattributes) |
| (&nbsp;[GetCurrentChannelId](#getcurrentchannelid)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;uint32_t&nbsp;\*channelId) | 获取音频的数据通道ID&nbsp;[更多...](#getcurrentchannelid) |
| (&nbsp;[SetExtraParams](#setextraparams)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;const&nbsp;char&nbsp;\*keyValueList) | 设置音频拓展参数&nbsp;[更多...](#setextraparams) |
| (&nbsp;[GetExtraParams](#getextraparams)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;char&nbsp;\*keyValueList) | 获取音频拓展参数&nbsp;[更多...](#getextraparams) |
| (&nbsp;[ReqMmapBuffer](#reqmmapbuffer)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;int32_t&nbsp;reqSize,&nbsp;struct&nbsp;[AudioMmapBufferDescripter](_audio_mmap_buffer_descripter.md)&nbsp;\*desc) | 请求mmap缓冲区&nbsp;[更多...](#reqmmapbuffer) |
| (&nbsp;[GetMmapPosition](#getmmapposition)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;uint64_t&nbsp;\*frames,&nbsp;struct&nbsp;[AudioTimeStamp](_audio_time_stamp.md)&nbsp;\*time) | 获取当前mmap的读/写位置&nbsp;[更多...](#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&nbsp;属性 | 描述 |
| -------- | -------- |
| control | 音频控制能力接口,详情参考[AudioControl](_audio_control.md) |
| attr | 音频属性能力接口,详情参考[AudioAttribute](_audio_attribute.md) |
| scene | 音频场景能力接口,详情参考[AudioScene](_audio_scene.md) |
| volume | 音频音量能力接口,详情参考[AudioVolume](_audio_volume.md) |
| (&nbsp;[CaptureFrame](#captureframe)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348293893.xml#xref1398623145083931,link:zh-cn_topic_0000001348293893.xml](zh-cn_topic_0000001348293893.xml)&nbsp;\*capture,&nbsp;void&nbsp;\*frame,&nbsp;uint64_t&nbsp;requestBytes,&nbsp;uint64_t&nbsp;\*replyBytes) | 从音频驱动中录制(capture)一帧输入数据(录音,音频上行数据)&nbsp;[更多...](#captureframe) |
| (&nbsp;[GetCapturePosition](#getcaptureposition)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348293893.xml#xref599411735083931,link:zh-cn_topic_0000001348293893.xml](zh-cn_topic_0000001348293893.xml)&nbsp;\*capture,&nbsp;uint64_t&nbsp;\*frames,&nbsp;struct&nbsp;[AudioTimeStamp](_audio_time_stamp.md)&nbsp;\*time) | 获取音频输入帧数的上一次计数&nbsp;[更多...](#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&nbsp;属性 | 描述 |
| -------- | -------- |
| (&nbsp;[Start](#start)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle) | 启动一个音频播放(render)或录音(capture)处理&nbsp;[更多...](#start) |
| (&nbsp;[Stop](#stop)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle) | 停止一个音频播放(render)或录音(capture)处理&nbsp;[更多...](#stop) |
| (&nbsp;[Pause](#pause)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle) | 暂停一个音频播放(render)或录音(capture)处理&nbsp;[更多...](#pause) |
| (&nbsp;[Resume](#resume)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle) | 恢复一个音频播放(render)或录音(capture)处理&nbsp;[更多...](#resume) |
| (&nbsp;[Flush](#flush)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle) | 刷新音频缓冲区buffer中的数据&nbsp;[更多...](#flush) |
| (&nbsp;[TurnStandbyMode](#turnstandbymode)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle) | 设置或去设置设备的待机模式&nbsp;[更多...](#turnstandbymode) |
| (&nbsp;[AudioDevDump](#audiodevdump)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;int32_t&nbsp;range,&nbsp;int32_t&nbsp;fd) | Dump音频设备信息&nbsp;[更多...](#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&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| (&nbsp;[GetAllAdapters](#getalladapters)&nbsp;)(struct&nbsp;AudioAdapterManager&nbsp;\*manager,&nbsp;struct&nbsp;[AudioAdapterDescriptor](_audio_adapter_descriptor.md)&nbsp;\*\*descs,&nbsp;int&nbsp;\*size) | 获取音频驱动中支持的所有适配器的列表&nbsp;[更多...](#getalladapters) |
| (&nbsp;[LoadAdapter](#loadadapter)&nbsp;)(struct&nbsp;AudioAdapterManager&nbsp;\*manager,&nbsp;const&nbsp;struct&nbsp;[AudioAdapterDescriptor](_audio_adapter_descriptor.md)&nbsp;\*desc,&nbsp;struct&nbsp;[AudioAdapter](_audio_adapter.md)&nbsp;\*\*adapter) | 加载一个音频适配器(声卡)的驱动&nbsp;[更多...](#loadadapter) |
| (&nbsp;[UnloadAdapter](#unloadadapter)&nbsp;)(struct&nbsp;AudioAdapterManager&nbsp;\*manager,&nbsp;struct&nbsp;[AudioAdapter](_audio_adapter.md)&nbsp;\*adapter) | 卸载音频适配器(声卡)的驱动&nbsp;[更多...](#unloadadapter) |
| (&nbsp;[ReleaseAudioManagerObject](#releaseaudiomanagerobject)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413505.xml#xref1843940824083931,link:zh-cn_topic_0000001348413505.xml](zh-cn_topic_0000001348413505.xml)&nbsp;\*object) | 释放音频管理接口对象&nbsp;[更多...](#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&nbsp;属性 | 描述 |
| -------- | -------- |
| [moduleId](_audio.md#moduleid-22) | 流所属模块标识符。 |
| [streamId](_audio.md#streamid-22) | 由调用者传递的Render或Capture标识符。 |
## **详细描述**
音轨拓展信息。
# AudioMmapBufferDescripter
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| [dir](_audio.md#dir) | 音频端口的类型,详情参考[AudioPortDirection](_audio.md#audioportdirection)。 |
| [portId](_audio.md#portid-14) | 音频端口的ID。 |
| [portName](_audio.md#portname) | 音频端口的名称。 |
## **详细描述**
音频端口。
# AudioPortCap
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [sampleFormats](#sampleformats)&nbsp;[[SAMPLE_FMT_NUM](_codec.md#ga9bda75c363e9bcff915cdd521dd7ba84)] | 支持的音频采样格式,详见[AudioSampleFormat](_codec.md#audiosampleformat)。 |
| [sampleRate](#samplerate)&nbsp;[[SAMPLE_RATE_NUM](_codec.md#ga0d905eaa05b4b6fcec76924eb795d7fe)] | 支持的音频采样率,详见[AudioSampleRate](_codec.md#audiosamplerate)。 |
| [channelLayouts](#channellayouts)&nbsp;[[CHANNEL_NUM](_codec.md#ga6511732d5b29a6781cf38783157f21e1)] | 支持的音频通道数channel&nbsp;layouts。 |
| [channelCount](#channelcount)&nbsp;[[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&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| control | 音频控制能力接口,详情参考[AudioControl](_audio_control.md) |
| attr | 音频属性能力接口,详情参考[AudioAttribute](_audio_attribute.md) |
| scene | 音频场景能力接口,详情参考[AudioScene](_audio_scene.md) |
| volume | 音频音量能力接口,详情参考[AudioVolume](_audio_volume.md) |
| (&nbsp;[GetLatency](#getlatency)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref1137711430083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;uint32_t&nbsp;\*ms) | 获取音频硬件驱动估计的延迟时间&nbsp;[更多...](#getlatency) |
| (&nbsp;[RenderFrame](#renderframe)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref1032115116083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;const&nbsp;void&nbsp;\*frame,&nbsp;uint64_t&nbsp;requestBytes,&nbsp;uint64_t&nbsp;\*replyBytes) | 往音频驱动中播放(render)一帧输出数据(放音,音频下行数据)&nbsp;[更多...](#renderframe) |
| (&nbsp;[GetRenderPosition](#getrenderposition)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref1361225145083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;uint64_t&nbsp;\*frames,&nbsp;struct&nbsp;[AudioTimeStamp](_audio_time_stamp.md)&nbsp;\*time) | 获取音频输出帧数的上一次计数&nbsp;[更多...](#getrenderposition) |
| (&nbsp;[SetRenderSpeed](#setrenderspeed)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref298100406083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;float&nbsp;speed) | 设置一个音频的播放速度&nbsp;[更多...](#setrenderspeed) |
| (&nbsp;[GetRenderSpeed](#getrenderspeed)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref1265100196083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;float&nbsp;\*speed) | 获取一个音频当前的播放速度&nbsp;[更多...](#getrenderspeed) |
| (&nbsp;[SetChannelMode](#setchannelmode)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref1614877322083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;enum&nbsp;[AudioChannelMode](_audio.md#audiochannelmode)&nbsp;mode) | 设置音频播放的通道模式&nbsp;[更多...](#setchannelmode) |
| (&nbsp;[GetChannelMode](#getchannelmode)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref1553230681083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;enum&nbsp;[AudioChannelMode](_audio.md#audiochannelmode)&nbsp;\*mode) | 获取音频播放当前的通道模式&nbsp;[更多...](#getchannelmode) |
| (&nbsp;[RegCallback](#regcallback)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref16984183083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;[RenderCallback](_audio.md#rendercallback)&nbsp;callback,&nbsp;void&nbsp;\*cookie) | 注册音频回调函数,用于放音过程中缓冲区数据写、DrainBuffer完成通知&nbsp;[更多...](#regcallback) |
| (&nbsp;[DrainBuffer](#drainbuffer)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001348413529.xml#xref1454572723083931,link:zh-cn_topic_0000001348413529.xml](zh-cn_topic_0000001348413529.xml)&nbsp;\*render,&nbsp;enum&nbsp;[AudioDrainNotifyType](_audio.md#audiodrainnotifytype)&nbsp;\*type) | 排空缓冲区中的数据&nbsp;[更多...](#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&nbsp;属性 | 描述 |
| -------- | -------- |
| [sourcesNum](_audio.md#sourcesnum) | 发送端节点数量。 |
| [sources](_audio.md#sources) | 发送端列表。 |
| [sinksNum](_audio.md#sinksnum) | 接受端节点数量。 |
| [sinks](_audio.md#sinks) | 接受端列表。 |
## **详细描述**
音频路由信息。
# AudioRouteNode
## **述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| (&nbsp;[CheckSceneCapability](#checkscenecapability)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;const&nbsp;struct&nbsp;[AudioSceneDescriptor](_audio_scene_descriptor.md)&nbsp;\*scene,&nbsp;bool&nbsp;\*supported) | 是否支持某个音频场景的配置&nbsp;[更多...](#checkscenecapability) |
| (&nbsp;[SelectScene](#selectscene)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;const&nbsp;struct&nbsp;[AudioSceneDescriptor](_audio_scene_descriptor.md)&nbsp;\*scene) | 选择音频场景&nbsp;[更多...](#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) | 音频场景描述&nbsp;[AudioSceneDescriptor::SceneDesc](union_audio_scene_descriptor_1_1_scene_desc.md) |
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [scene](_audio.md#scene) | 音频场景的名称。 |
| [desc](_audio.md#desc-25) | 音频设备描述符。 |
## **详细描述**
音频场景描述符。
# AudioSessionExtInfo
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [sessionType](_audio.md#sessiontype) | 音频会话类型。 |
## **详细描述**
会话拓展信息。
# AudioSubPortCapability
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| [tvSec](_audio.md#tvsec) | tvSec时间,单位:秒。 |
| [tvNSec](_audio.md#tvnsec) | tvNSec时间,单位:纳秒。 |
## **详细描述**
音频时间戳。
时间定义,POSIX timespec的替代品。
# AudioVolume
## **概述**
**所属模块:**
[Audio](_audio.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| (&nbsp;[SetMute](#setmute)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;bool&nbsp;mute) | 设置音频的静音状态&nbsp;[更多...](#setmute) |
| (&nbsp;[GetMute](#getmute)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;bool&nbsp;\*mute) | 获取音频的静音状态&nbsp;[更多...](#getmute) |
| (&nbsp;[SetVolume](#setvolume)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;float&nbsp;volume) | 设置一个音频流的音量&nbsp;[更多...](#setvolume) |
| (&nbsp;[GetVolume](#getvolume)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;float&nbsp;\*volume) | 获取一个音频流的音量&nbsp;[更多...](#getvolume) |
| (&nbsp;[GetGainThreshold](#getgainthreshold)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;float&nbsp;\*min,&nbsp;float&nbsp;\*max) | 获取音频流增益的阈值&nbsp;[更多...](#getgainthreshold) |
| (&nbsp;[GetGain](#getgain)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;float&nbsp;\*gain) | 获取音频流的增益&nbsp;[更多...](#getgain) |
| (&nbsp;[SetGain](#setgain)&nbsp;)([AudioHandle](_audio.md#ga18675ddb073465fdeac33a897f675d79)&nbsp;handle,&nbsp;float&nbsp;gain) | 设置音频流的增益&nbsp;[更多...](#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&nbsp;待设置的增益 |
**返回:**
成功返回值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&nbsp;属性 | 描述 |
| -------- | -------- |
| [result](#result) | 用户身份认证结果。 |
| [freezingTime](#freezingtime) | 认证方式被冻结的时间。 |
| [remainTimes](#remaintimes) | 认证方式距离被冻结的可处理认证请求次数。 |
| [msgs](#msgs) | 执行器发送的消息。 |
| [token](#token) | 用户身份认证令牌。 |
## **详细描述**
用户身份认证结果信息。
**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
```
**描述:**
用户身份认证令牌。
# AuthSolution
## **概述**
**所属模块:**
[HdfUserAuth](_hdf_user_auth.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [userId](#userid) | 用户ID。 |
| [authTrustLevel](#authtrustlevel) | 认证结果可信等级。 |
| [authType](#authtype) | 用户认证凭据类型AuthType}。 |
| [executorId](#executorid) | 既定用户认证凭据类型的执行器ID。 |
| [challenge](#challenge) | 挑战值,用于签发认证令牌。 |
## **详细描述**
认证方案。
**Since:**
3.2
**Version:**
1.0
## **类成员变量说明**
### authTrustLevel
```
unsigned int AuthSolution::authTrustLevel
```
**描述:**
认证结果可信等级。
### authType
```
enum AuthType AuthSolution::authType
```
**描述:**
用户认证凭据类型AuthType}。
### challenge
```
unsigned char [] AuthSolution::challenge
```
**描述:**
挑战值,用于签发认证令牌。
### executorId
```
unsigned int AuthSolution::executorId
```
**描述:**
既定用户认证凭据类型的执行器ID。
### userId
```
int AuthSolution::userId
```
**描述:**
用户ID。
# BatteryInfo
## **概述**
**所属模块:**
[Battery](battery.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [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&nbsp;属性 | 描述 |
| -------- | -------- |
| [phyAddr](_display.md#phyaddr-12) | 物理内存地址。 |
| [virAddr](_display.md#viraddr) | 虚拟内存地址。 |
## **详细描述**
定义一层的缓冲区数据,包括虚拟和物理内存地址。
此差异已折叠。
此差异已折叠。
# CodecCallbackType
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [remote](_codec.md#remote) | 指向HdfRemoteService的指针。&nbsp;[更多...](_codec.md#remote) |
| (&nbsp;[EventHandler](_codec.md#eventhandler)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295094404.xml#xref452479393083931,link:zh-cn_topic_0000001295094404.xml](zh-cn_topic_0000001295094404.xml)&nbsp;\*self,&nbsp;enum&nbsp;OMX_EVENTTYPE&nbsp;event,&nbsp;struct&nbsp;[EventInfo](_event_info.md)&nbsp;\*info) | 事件上报。&nbsp;[更多...](_codec.md#eventhandler) |
| (&nbsp;[EmptyBufferDone](_codec.md#emptybufferdone)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295094404.xml#xref1077915705083931,link:zh-cn_topic_0000001295094404.xml](zh-cn_topic_0000001295094404.xml)&nbsp;\*self,&nbsp;int8_t&nbsp;\*appData,&nbsp;uint32_t&nbsp;appDataLen,&nbsp;const&nbsp;struct&nbsp;[OmxCodecBuffer](_omx_codec_buffer.md)&nbsp;\*buffer) | 上报输入buffer编码或者解码处理完毕。&nbsp;[更多...](_codec.md#emptybufferdone) |
| (&nbsp;[FillBufferDone](_codec.md#fillbufferdone)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295094404.xml#xref1123615867083931,link:zh-cn_topic_0000001295094404.xml](zh-cn_topic_0000001295094404.xml)&nbsp;\*self,&nbsp;int8_t&nbsp;\*appData,&nbsp;uint32_t&nbsp;appDataLen,&nbsp;struct&nbsp;[OmxCodecBuffer](_omx_codec_buffer.md)&nbsp;\*buffer) | 上报输出buffer填充完毕。&nbsp;[更多...](_codec.md#fillbufferdone) |
## **详细描述**
Codec回调接口定义。
提供了以下3种回调函数:
- 组件错误事件、命令完成事件、端口设置等事件回调,详见EventHandler。
- 输入端口处理完buffer回调,详见EmptyBufferDone。
- 输出端口填充完buffer回调,详见FillBufferDone。 通过以下两种方式注册回调:
- 创建组件时,通过CreateComponent方法。
- 当组件处于OMX_StateLoaded状态时,通过SetCallbacks方法注册回调。
# CodecCompCapability
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [role](#role) | 媒体类型。 |
| [type](#type) | 编解码类型。 |
| [compName](#compname)&nbsp;[[NAME_LENGTH](_codec.md#gaf71324c57f05ff9e24bd384925dd6b17)] | 编解码组件名称。 |
| [supportProfiles](#supportprofiles)&nbsp;[[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&nbsp;属性 | 描述 |
| -------- | -------- |
| ([GetComponentNum](#getcomponentnum)&nbsp;)() | 获取Codec编解码组件数量。&nbsp;[更多...](#getcomponentnum) |
| (&nbsp;[GetComponentCapabilityList](#getcomponentcapabilitylist)&nbsp;)([CodecCompCapability](_codec_comp_capability.md)&nbsp;\*capList,&nbsp;int32_t&nbsp;count) | 获取编解码能力集表。&nbsp;[更多...](#getcomponentcapabilitylist) |
| (&nbsp;[CreateComponent](#createcomponent)&nbsp;)(struct&nbsp;[CodecComponentType](_codec_component_type.md)&nbsp;\*\*component,&nbsp;char&nbsp;\*compName,&nbsp;void&nbsp;\*appData,&nbsp;int32_t&nbsp;appDataSize,&nbsp;struct&nbsp;[CodecCallbackType](_codec_callback_type.md)&nbsp;\*callbacks) | 创建Codec组件实例。&nbsp;[更多...](#createcomponent) |
| (&nbsp;[DestroyComponent](#destroycomponent))(struct&nbsp;[CodecComponentType](_codec_component_type.md)&nbsp;\*component) | 销毁组件实例。&nbsp;[更多...](#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&nbsp;属性 | 描述 |
| -------- | -------- |
| (&nbsp;[GetComponentVersion](_codec.md#getcomponentversion)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1521256091083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;struct&nbsp;[CompVerInfo](_comp_ver_info.md)&nbsp;\*verInfo) | 获取Codec组件版本号。&nbsp;[更多...](_codec.md#getcomponentversion) |
| (&nbsp;[SendCommand](_codec.md#sendcommand)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref2020788308083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;enum&nbsp;OMX_COMMANDTYPE&nbsp;cmd,&nbsp;uint32_t&nbsp;param,&nbsp;int8_t&nbsp;\*cmdData,&nbsp;uint32_t&nbsp;cmdDataLen) | 发送命令给组件。&nbsp;[更多...](_codec.md#sendcommand) |
| (&nbsp;[GetParameter](_codec.md#getparameter)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref2071182762083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint32_t&nbsp;paramIndex,&nbsp;int8_t&nbsp;\*paramStruct,&nbsp;uint32_t&nbsp;paramStructLen) | 获取组件参数设置。&nbsp;[更多...](_codec.md#getparameter) |
| (&nbsp;[SetParameter](_codec.md#setparameter)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1874982936083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint32_t&nbsp;index,&nbsp;int8_t&nbsp;\*paramStruct,&nbsp;uint32_t&nbsp;paramStructLen) | 设置组件需要的参数。&nbsp;[更多...](_codec.md#setparameter) |
| (&nbsp;[GetConfig](_codec.md#getconfig)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref921941812083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint32_t&nbsp;index,&nbsp;int8_t&nbsp;\*cfgStruct,&nbsp;uint32_t&nbsp;cfgStructLen) | 获取组件的配置结构。&nbsp;[更多...](_codec.md#getconfig) |
| (&nbsp;[SetConfig](_codec.md#setconfig)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1073566491083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint32_t&nbsp;index,&nbsp;int8_t&nbsp;\*cfgStruct,&nbsp;uint32_t&nbsp;cfgStructLen) | 设置组件的配置。&nbsp;[更多...](_codec.md#setconfig) |
| (&nbsp;[GetExtensionIndex](_codec.md#getextensionindex)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref68113596083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;const&nbsp;char&nbsp;\*paramName,&nbsp;uint32_t&nbsp;\*indexType) | 根据字符串获取组件的扩展索引。&nbsp;[更多...](_codec.md#getextensionindex) |
| (&nbsp;[GetState](_codec.md#getstate)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1226754841083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;enum&nbsp;OMX_STATETYPE&nbsp;\*state) | 获取组件的当前状态。&nbsp;[更多...](_codec.md#getstate) |
| (&nbsp;[ComponentTunnelRequest](_codec.md#componenttunnelrequest)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1739461855083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint32_t&nbsp;port,&nbsp;int32_t&nbsp;tunneledComp,&nbsp;uint32_t&nbsp;tunneledPort,&nbsp;struct&nbsp;OMX_TUNNELSETUPTYPE&nbsp;\*tunnelSetup) | 设置组件采用Tunnel方式通信。&nbsp;[更多...](_codec.md#componenttunnelrequest) |
| (&nbsp;[UseBuffer](_codec.md#usebuffer)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref2135329427083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint32_t&nbsp;portIndex,&nbsp;struct&nbsp;[OmxCodecBuffer](_omx_codec_buffer.md)&nbsp;\*buffer) | 指定组件端口的buffer。&nbsp;[更多...](_codec.md#usebuffer) |
| (&nbsp;[AllocateBuffer](_codec.md#allocatebuffer)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref857621490083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint32_t&nbsp;portIndex,&nbsp;struct&nbsp;[OmxCodecBuffer](_omx_codec_buffer.md)&nbsp;\*buffer) | 向组件申请端口buffer。&nbsp;[更多...](_codec.md#allocatebuffer) |
| (&nbsp;[FreeBuffer](_codec.md#freebuffer)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1026220701083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint32_t&nbsp;portIndex,&nbsp;const&nbsp;struct&nbsp;[OmxCodecBuffer](_omx_codec_buffer.md)&nbsp;\*buffer) | 释放buffer。&nbsp;[更多...](_codec.md#freebuffer) |
| (&nbsp;[EmptyThisBuffer](_codec.md#emptythisbuffer)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1735359869083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;const&nbsp;struct&nbsp;[OmxCodecBuffer](_omx_codec_buffer.md)&nbsp;\*buffer) | 编解码输入待处理buffer。&nbsp;[更多...](_codec.md#emptythisbuffer) |
| (&nbsp;[FillThisBuffer](_codec.md#fillthisbuffer)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1574208746083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;const&nbsp;struct&nbsp;[OmxCodecBuffer](_omx_codec_buffer.md)&nbsp;\*buffer) | 编解码输出填充buffer。&nbsp;[更多...](_codec.md#fillthisbuffer) |
| (&nbsp;[SetCallbacks](_codec.md#setcallbacks)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1922857471083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;struct&nbsp;[CodecCallbackType](_codec_callback_type.md)&nbsp;\*callback,&nbsp;int8_t&nbsp;\*appData,&nbsp;uint32_t&nbsp;appDataLen) | 设置Codec组件的回调函数。&nbsp;[更多...](_codec.md#setcallbacks) |
| (&nbsp;[ComponentDeInit](_codec.md#componentdeinit)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1721252790083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self) | 组件去初始化。&nbsp;[更多...](_codec.md#componentdeinit) |
| (&nbsp;[UseEglImage](_codec.md#useeglimage)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref872648430083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;struct&nbsp;[OmxCodecBuffer](_omx_codec_buffer.md)&nbsp;\*buffer,&nbsp;uint32_t&nbsp;portIndex,&nbsp;int8_t&nbsp;\*eglImage,&nbsp;uint32_t&nbsp;eglImageLen) | 使用已在EGL中申请的空间。&nbsp;[更多...](_codec.md#useeglimage) |
| (&nbsp;[ComponentRoleEnum](_codec.md#componentroleenum)&nbsp;)(struct&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001295573848.xml#xref1661834974083931,link:zh-cn_topic_0000001295573848.xml](zh-cn_topic_0000001295573848.xml)&nbsp;\*self,&nbsp;uint8_t&nbsp;\*role,&nbsp;uint32_t&nbsp;roleLen,&nbsp;uint32_t&nbsp;index) | 获取组件角色。&nbsp;[更多...](_codec.md#componentroleenum) |
## **详细描述**
Codec组件接口定义。
主要提供以下功能:
- 获取组件的版本。
- 组件参数配置的获取和设置。
- 发送命令至组件及获取组件状态。
- 设置回调函数。
- 设置/释放组件使用的buffer。
- 编解码输入输出buffer处理 具体方法使用详见函数说明。
# CompVerInfo
## **概述**
**所属模块:**
[Codec](_codec.md)
## **汇总**
### Public 属性
| Public&nbsp;属性 | 描述 |
| -------- | -------- |
| [compName](#compname)&nbsp;[[NAME_LENGTH](_codec.md#gaf71324c57f05ff9e24bd384925dd6b17)] | 组件名称 |
| [compUUID](#compuuid)&nbsp;[[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&nbsp;属性 | 描述 |
| -------- | -------- |
| [credentialId](#credentialid) | 认证凭据ID。 |
| [index](#index) | 用户认证框架的执行器索引。 |
| [templateId](#templateid) | 认证凭据模版ID。 |
| [authType](#authtype) | 用户认证凭据类型AuthType}。 |
| [executorType](#executortype) | 执行器类型。 |
| [executorId](#executorid) | 既定用户认证凭据类型的执行器ID。 |
| [extraInfo](#extrainfo) | 其他相关信息,用于支持信息扩展。 |
## **详细描述**
认证凭据信息。
**自动:**
3.2
**Version:**
1.0
## **类成员变量说明**
### authType
```
enum AuthType CredentialInfo::authType
```
**描述:**
用户认证凭据类型。
### credentialId
```
unsigned long CredentialInfo::credentialId
```
**描述:**
认证凭据ID。
### executorId
```
unsigned int CredentialInfo::executorId
```
**描述:**
既定用户认证凭据类型的执行器ID。
### executorType
```
unsigned int CredentialInfo::executorType
```
**描述:**
执行器类型。
### extraInfo
```
unsigned char [] CredentialInfo::extraInfo
```
**描述:**
其他相关信息,用于支持信息扩展。
### index
```
unsigned long CredentialInfo::index
```
**描述:**
用户认证框架的执行器索引。
### templateId
```
unsigned long CredentialInfo::templateId
```
**描述:**
认证凭据模版ID。
# DAC
## **汇总**
### 文件
| 文件 | 描述 |
| -------- | -------- |
| [dac_if.h](dac__if_8h.md) | 声明标准DAC接口函数。 |
### 类
| 类 | 描述 |
| -------- | -------- |
| [DacIoMsg](_dac_io_msg.md) | DAC设备信息传输结构体&nbsp;[更多...](_dac_io_msg.md) |
### 函数
| 函数 | 描述 |
| -------- | -------- |
| [DacOpen](#dacopen)&nbsp;(uint32_t&nbsp;number) | 获取DAC控制器的句柄。&nbsp;[更多...](#dacopen) |
| [DacClose](#dacclose)&nbsp;(DevHandle&nbsp;handle) | 释放DAC控制器的句柄。&nbsp;[更多...](#dacclose) |
| [DacWrite](#dacwrite)&nbsp;(DevHandle&nbsp;handle,&nbsp;uint32_t&nbsp;channel,&nbsp;uint32_t&nbsp;val) | 启动DAC设备进行传输,将目标值写入指定的DAC通道。&nbsp;[更多...](#dacwrite) |
### 变量
| 变量&nbsp;名称 | 描述 |
| -------- | -------- |
| [DacIoMsg::number](#number) | DAC设备号 |
| [DacIoMsg::channel](#channel) | DAC设备通道号 |
## **详细描述**
提供数模转换器 (DAC) 接口。
该模块允许驱动程序在DAC控制器上执行操作以访问DAC通道上的设备,包括创建和销毁DAC控制器句柄和写入数据。
**Since:**
3.1
## **函数说明**
### DacClose()
```
void DacClose (DevHandle handle)
```
**描述:**
释放DAC控制器的句柄。
如果不再需要访问DAC控制器,则应调用该函数关闭其句柄,以释放未使用的内存资源。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 表示指向DAC控制器的设备句柄的指针。 |
**Since:**
3.1
### DacOpen()
```
DevHandle DacOpen (uint32_t number)
```
**描述:**
获取DAC控制器的句柄。
您必须在访问DAC设备之前调用此函数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| number | 表示DAC控制器ID。 |
**返回:**
DAC控制器的DevHandle指针 表示操作成功。
NULL 表示操作失败。
**Since:**
3.1
### DacWrite()
```
int32_t DacWrite (DevHandle handle, uint32_t channel, uint32_t val )
```
**描述:**
启动DAC设备进行传输,将目标值写入指定的DAC通道。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 表示通过DacOpen获取的DAC控制器设备句柄的指针。 |
| channel | 表示DAC传输消息所通过的通道。 |
| val | 表示设定的目标值。 |
**返回:**
0 表示操作成功。
负值 表示操作失败。
**Since:**
3.1
## **变量说明**
### channel
```
uint32_t DacIoMsg::channel
```
**描述:**
DAC设备通道号
### number
```
uint32_t DacIoMsg::number
```
**描述:**
DAC设备号
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册