audio_hw_device结构参考

audio_hw_device结构参考

#include < audio.h >

数据字段

结构体hw_device_t常见的
uint32_t(* get_supported_devices )(const struct audio_hw_device *dev)
整数(* init_check )(const struct audio_hw_device *dev)
整数(* set_voice_volume )(结构audio_hw_device *dev,浮动音量)
整数(* set_master_volume )(struct audio_hw_device *dev,浮动音量)
整数(* get_master_volume )(struct audio_hw_device *dev, float *volume)
整数(* set_mode )(结构audio_hw_device *dev,audio_mode_t模式)
整数(* set_mic_mute )(struct audio_hw_device *dev,布尔状态)
整数(* get_mic_mute )(const struct audio_hw_device *dev,bool *state)
整数(* set_parameters )(struct audio_hw_device *dev, const char *kv_pairs)
字符 *(* get_parameters )(const struct audio_hw_device *dev,const char *keys)
尺寸_t(* get_input_buffer_size )(const struct audio_hw_device *dev,const struct audio_config *config)
整数(* open_output_stream )(结构audio_hw_device * dev,audio_io_handle_t句柄,audio_devices_t设备,audio_output_flags_t标志,结构audio_config *配置,结构audio_stream_out **stream_out,const char *地址)
空白(* close_output_stream )(结构audio_hw_device *dev,结构audio_stream_out *stream_out)
整数(* open_input_stream )(结构audio_hw_device *dev,audio_io_handle_t句柄,audio_devices_t设备,结构audio_config *config,结构audio_stream_in **stream_in,audio_input_flags_t标志,const char *地址,audio_source_t源)
空白(* close_input_stream )(结构audio_hw_device *dev,结构audio_stream_in *stream_in)
整数(*转储)(常量结构audio_hw_device * dev,int fd)
整数(* set_master_mute )(struct audio_hw_device *dev, bool 静音)
整数(* get_master_mute )(struct audio_hw_device *dev, bool *mute)
整数(* create_audio_patch )(struct audio_hw_device *dev,unsigned int num_sources,const struct audio_port_config *sources,unsigned int num_sinks,const struct audio_port_config *sinks,audio_patch_handle_t *handle)
整数(* release_audio_patch )(结构audio_hw_device *dev,audio_patch_handle_t句柄)
整数(* get_audio_port )(结构audio_hw_device *dev,结构audio_port *port)
整数(* set_audio_port_config )(struct audio_hw_device *dev,const struct audio_port_config *config)

详细说明

定义位于文件audio.h的第516行。

现场文档

void(* close_input_stream)(结构体audio_hw_device *dev, 结构体audio_stream_in *stream_in)

文件audio.h620行的定义。

void(* close_output_stream)(结构audio_hw_device *dev, 结构audio_stream_out *stream_out)

文件audio.h607行的定义。

结构体hw_device_t公共

音频设备的常用方法。这必须audio_hw_device的第一个成员,因为该结构的用户将在已知hw_device_t引用audio_hw_device的上下文中将hw_device_t强制转换为audio_hw_device指针。

文件audio.h522行的定义。

int(* create_audio_patch)(struct audio_hw_device *dev, unsigned int num_sources, const struct audio_port_config *sources, unsigned int num_sinks, const struct audio_port_config *sinks, audio_patch_handle_t *handle)

路由控制

文件audio.h648行的定义。

int(* dump)(const struct audio_hw_device *dev, int fd)

此方法转储音频硬件的状态

文件audio.h624行的定义。

int(* get_audio_port)(结构体audio_hw_device *dev, 结构体audio_port *port)

定义位于文件audio.h的第665行。

size_t(* get_input_buffer_size)(const struct audio_hw_device *dev, const struct audio_config *config)

定义位于文件audio.h的第588行。

int(* get_master_mute)(struct audio_hw_device *dev, bool *mute)

如果 HAL 支持主静音控制,则获取 HAL 当前的主静音状态。当服务启动时,AudioFlinger 将从主音频 HAL 中查询该值,并使用该值在所有 HAL 中设置初始主静音。不支持此方法的 HAL 可能会将其设置为 NULL。

定义位于文件audio.h的第639行。

int(* get_master_volume)(struct audio_hw_device *dev, float *volume)

如果 HAL 支持主音量控制,则获取 HAL 的当前主音量值。当服务启动时,AudioFlinger 将从主音频 HAL 中查询该值,并使用该值在所有 HAL 中设置初始主音量。不支持此方法的 HAL 可能会将其设置为 NULL。

定义位于文件audio.h的第561行。

int(* get_mic_mute)(const struct audio_hw_device *dev, bool *state)

定义位于文件audio.h的第572行。

char*(* get_parameters)(const struct audio_hw_device *dev, const char *keys)

定义位于文件audio.h的第581行。

uint32_t(* get_supported_devices)(const struct audio_hw_device *dev)

音频flinger 使用它来枚举每个audio_hw_device实现支持哪些设备。

返回值是1个或多个audio_devices_t值的位掩码

注意:以 AUDIO_DEVICE_API_VERSION_2_0 开头的音频 HAL 实现不实现此函数。所有支持的设备应在audio_policy.conf 文件中列出,并且音频策略管理器必须根据该文件中的信息选择适当的音频模块。

定义位于文件audio.h的第536行。

int(* init_check)(const struct audio_hw_device *dev)

检查音频硬件接口是否已初始化。成功时返回 0,失败时返回 -ENODEV。

文件audio.h542行的定义。

int(* open_input_stream)(结构audio_hw_device *dev、audio_io_handle_t句柄、audio_devices_t设备、结构audio_config *config、结构audio_stream_in **stream_in、audio_input_flags_t标志、const char *地址、audio_source_t源)

该方法创建并打开音频硬件输入流

文件audio.h611行的定义。

int(* open_output_stream)(结构audio_hw_device *dev、audio_io_handle_t句柄、audio_devices_t设备、audio_output_flags_t标志、结构audio_config *config、结构audio_stream_out **stream_out、const char *地址)

此方法创建并打开音频硬件输出流。如果需要,“address”参数限定“devices”音频设备类型。格式格式取决于设备类型:

  • 蓝牙设备使用设备的 MAC 地址,格式为“00:11:22:AA:BB:CC”
  • USB 设备使用 ALSA 卡和设备编号,格式为“card=X;device=Y”
  • 其他设备可以使用数字或任何其他字符串。

定义位于文件audio.h的第599行。

int(*release_audio_patch)(结构audio_hw_device *dev,audio_patch_handle_t句柄)

定义位于文件audio.h的第656行。

int(* set_audio_port_config)(结构体audio_hw_device *dev, const 结构体audio_port_config *config)

定义位于文件audio.h的第669行。

int(* set_master_mute)(struct audio_hw_device *dev, bool 静音)

设置所有音频活动的音频静音状态。如果返回 0 以外的任何值,软件混音器将模拟此功能。

文件audio.h630行的定义。

int(* set_master_volume)(struct audio_hw_device *dev, 浮动音量)

设置除语音通话之外的所有音频活动的音量。范围在 0.0 和 1.0 之间。如果返回 0 以外的任何值,软件混音器将模拟此功能。

定义位于文件audio.h的第552行。

int(* set_mic_mute)(struct audio_hw_device *dev, bool state)

定义位于文件audio.h的第571行。

int(* set_mode)(结构audio_hw_device *dev,audio_mode_t模式)

当音频模式改变时调用set_mode。 AUDIO_MODE_NORMAL 模式用于标准音频播放,AUDIO_MODE_RINGTONE 表示正在播放铃声,AUDIO_MODE_IN_CALL 表示正在进行通话。

定义位于文件audio.h的第568行。

int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs)

定义位于文件audio.h的第575行。

int(* set_voice_volume)(struct audio_hw_device *dev, 浮动音量)

设置语音通话的音量。范围在 0.0 到 1.0 之间

定义位于文件audio.h的第545行。


该结构的文档是从以下文件生成的:
  • 硬件/libhardware/include/hardware/audio.h
,

audio_hw_device结构参考

audio_hw_device结构参考

#include < audio.h >

数据字段

结构体hw_device_t常见的
uint32_t(* get_supported_devices )(const struct audio_hw_device *dev)
整数(* init_check )(const struct audio_hw_device *dev)
整数(* set_voice_volume )(结构audio_hw_device *dev,浮动音量)
整数(* set_master_volume )(struct audio_hw_device *dev,浮动音量)
整数(* get_master_volume )(struct audio_hw_device *dev, float *volume)
整数(* set_mode )(结构audio_hw_device *dev,audio_mode_t模式)
整数(* set_mic_mute )(struct audio_hw_device *dev,布尔状态)
整数(* get_mic_mute )(const struct audio_hw_device *dev,bool *state)
整数(* set_parameters )(struct audio_hw_device *dev, const char *kv_pairs)
字符 *(* get_parameters )(const struct audio_hw_device *dev,const char *keys)
尺寸_t(* get_input_buffer_size )(const struct audio_hw_device *dev,const struct audio_config *config)
整数(* open_output_stream )(结构audio_hw_device * dev,audio_io_handle_t句柄,audio_devices_t设备,audio_output_flags_t标志,结构audio_config *配置,结构audio_stream_out **stream_out,const char *地址)
空白(* close_output_stream )(结构audio_hw_device *dev,结构audio_stream_out *stream_out)
整数(* open_input_stream )(结构audio_hw_device *dev,audio_io_handle_t句柄,audio_devices_t设备,结构audio_config *config,结构audio_stream_in **stream_in,audio_input_flags_t标志,const char *地址,audio_source_t源)
空白(* close_input_stream )(结构audio_hw_device *dev,结构audio_stream_in *stream_in)
整数(*转储)(常量结构audio_hw_device * dev,int fd)
整数(* set_master_mute )(struct audio_hw_device *dev, bool 静音)
整数(* get_master_mute )(struct audio_hw_device *dev, bool *mute)
整数(* create_audio_patch )(struct audio_hw_device *dev,unsigned int num_sources,const struct audio_port_config *sources,unsigned int num_sinks,const struct audio_port_config *sinks,audio_patch_handle_t *handle)
整数(* release_audio_patch )(结构audio_hw_device *dev,audio_patch_handle_t句柄)
整数(* get_audio_port )(结构audio_hw_device *dev,结构audio_port *port)
整数(* set_audio_port_config )(struct audio_hw_device *dev,const struct audio_port_config *config)

详细说明

定义位于文件audio.h的第516行。

现场文档

void(* close_input_stream)(结构体audio_hw_device *dev, 结构体audio_stream_in *stream_in)

文件audio.h620行的定义。

void(* close_output_stream)(结构audio_hw_device *dev, 结构audio_stream_out *stream_out)

文件audio.h607行的定义。

结构体hw_device_t公共

音频设备的常用方法。这必须audio_hw_device的第一个成员,因为该结构的用户将在已知hw_device_t引用audio_hw_device的上下文中将hw_device_t强制转换为audio_hw_device指针。

文件audio.h522行的定义。

int(* create_audio_patch)(struct audio_hw_device *dev, unsigned int num_sources, const struct audio_port_config *sources, unsigned int num_sinks, const struct audio_port_config *sinks, audio_patch_handle_t *handle)

路由控制

文件audio.h648行的定义。

int(* dump)(const struct audio_hw_device *dev, int fd)

此方法转储音频硬件的状态

文件audio.h624行的定义。

int(* get_audio_port)(结构体audio_hw_device *dev, 结构体audio_port *port)

定义位于文件audio.h的第665行。

size_t(* get_input_buffer_size)(const struct audio_hw_device *dev, const struct audio_config *config)

定义位于文件audio.h的第588行。

int(* get_master_mute)(struct audio_hw_device *dev, bool *mute)

如果 HAL 支持主静音控制,则获取 HAL 当前的主静音状态。当服务启动时,AudioFlinger 将从主音频 HAL 中查询该值,并使用该值在所有 HAL 中设置初始主静音。不支持此方法的 HAL 可能会将其设置为 NULL。

定义位于文件audio.h的第639行。

int(* get_master_volume)(struct audio_hw_device *dev, float *volume)

如果 HAL 支持主音量控制,则获取 HAL 的当前主音量值。当服务启动时,AudioFlinger 将从主音频 HAL 中查询该值,并使用该值在所有 HAL 中设置初始主音量。不支持此方法的 HAL 可能会将其设置为 NULL。

定义位于文件audio.h的第561行。

int(* get_mic_mute)(const struct audio_hw_device *dev, bool *state)

定义位于文件audio.h的第572行。

char*(* get_parameters)(const struct audio_hw_device *dev, const char *keys)

定义位于文件audio.h的第581行。

uint32_t(* get_supported_devices)(const struct audio_hw_device *dev)

音频flinger 使用它来枚举每个audio_hw_device实现支持哪些设备。

返回值是1个或多个audio_devices_t值的位掩码

注意:以 AUDIO_DEVICE_API_VERSION_2_0 开头的音频 HAL 实现不实现此函数。所有支持的设备应在audio_policy.conf 文件中列出,并且音频策略管理器必须根据该文件中的信息选择适当的音频模块。

定义位于文件audio.h的第536行。

int(* init_check)(const struct audio_hw_device *dev)

检查音频硬件接口是否已初始化。成功时返回 0,失败时返回 -ENODEV。

文件audio.h542行的定义。

int(* open_input_stream)(结构audio_hw_device *dev、audio_io_handle_t句柄、audio_devices_t设备、结构audio_config *config、结构audio_stream_in **stream_in、audio_input_flags_t标志、const char *地址、audio_source_t源)

该方法创建并打开音频硬件输入流

文件audio.h611行的定义。

int(* open_output_stream)(结构audio_hw_device *dev、audio_io_handle_t句柄、audio_devices_t设备、audio_output_flags_t标志、结构audio_config *config、结构audio_stream_out **stream_out、const char *地址)

此方法创建并打开音频硬件输出流。如果需要,“address”参数限定“devices”音频设备类型。格式格式取决于设备类型:

  • 蓝牙设备使用设备的 MAC 地址,格式为“00:11:22:AA:BB:CC”
  • USB 设备使用 ALSA 卡和设备编号,格式为“card=X;device=Y”
  • 其他设备可以使用数字或任何其他字符串。

定义位于文件audio.h的第599行。

int(*release_audio_patch)(结构audio_hw_device *dev,audio_patch_handle_t句柄)

定义位于文件audio.h的第656行。

int(* set_audio_port_config)(结构体audio_hw_device *dev, const 结构体audio_port_config *config)

定义位于文件audio.h的第669行。

int(* set_master_mute)(struct audio_hw_device *dev, bool 静音)

设置所有音频活动的音频静音状态。如果返回 0 以外的任何值,软件混音器将模拟此功能。

文件audio.h630行的定义。

int(* set_master_volume)(struct audio_hw_device *dev, 浮动音量)

设置除语音通话之外的所有音频活动的音量。范围在 0.0 和 1.0 之间。如果返回 0 以外的任何值,软件混音器将模拟此功能。

定义位于文件audio.h的第552行。

int(* set_mic_mute)(struct audio_hw_device *dev, bool state)

定义位于文件audio.h的第571行。

int(* set_mode)(结构audio_hw_device *dev,audio_mode_t模式)

当音频模式改变时调用set_mode。 AUDIO_MODE_NORMAL 模式用于标准音频播放,AUDIO_MODE_RINGTONE 表示正在播放铃声,AUDIO_MODE_IN_CALL 表示正在进行通话。

定义位于文件audio.h的第568行。

int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs)

定义位于文件audio.h的第575行。

int(* set_voice_volume)(struct audio_hw_device *dev, 浮动音量)

设置语音通话的音量。范围在 0.0 到 1.0 之间

定义位于文件audio.h的第545行。


该结构的文档是从以下文件生成的:
  • 硬件/libhardware/include/hardware/audio.h