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 )(struct audio_hw_device *dev, 플로트 볼륨)
정수(* set_master_volume )(struct audio_hw_device *dev, 플로트 볼륨)
정수(* get_master_volume )(struct audio_hw_device *dev, float *volume)
정수(* set_mode )(struct 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)
size_t(* get_input_buffer_size )(const struct audio_hw_device *dev, const struct audio_config *config)
정수(* open_output_stream )(struct audio_hw_device *dev, audio_io_handle_t 핸들, audio_devices_t 장치, audio_output_flags_t 플래그, struct audio_config *config, struct audio_stream_out **stream_out, const char *address)
무효의(* close_output_stream )(struct audio_hw_device *dev, struct audio_stream_out *stream_out)
정수(* open_input_stream )(struct audio_hw_device *dev, audio_io_handle_t 핸들, audio_devices_t 장치, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t 플래그, const char *address, audio_source_t 소스)
무효의(* close_input_stream )(struct audio_hw_device *dev, struct audio_stream_in *stream_in)
정수(* 덤프 )(const struct 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 )(struct audio_hw_device *dev, audio_patch_handle_t 핸들)
정수(* get_audio_port )(struct audio_hw_device *dev, struct 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)(struct audio_hw_device *dev, struct audio_stream_in *stream_in)

audio.h 파일의 620 번째 줄에 정의되어 있습니다.

void(* close_output_stream)(struct audio_hw_device *dev, struct audio_stream_out *stream_out)

audio.h 파일의 607 번째 줄에 정의되어 있습니다.

구조체 hw_device_t 공통

오디오 장치의 일반적인 방법. 이 구조의 사용자는 hw_device_t가 audio_hw_device를 참조하는 것으로 알려진 컨텍스트에서 hw_device_taudio_hw_device 포인터로 캐스팅하므로 이것은 audio_hw_device 의 첫 번째 멤버여야 합니다 .

audio.h 파일의 522 번째 줄에 정의되어 있습니다.

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.h 파일의 648 번째 줄에 정의되어 있습니다.

int(* 덤프)(const struct audio_hw_device *dev, int fd)

이 방법은 오디오 하드웨어의 상태를 덤프합니다.

audio.h 파일의 624 번째 줄에 정의되어 있습니다.

int(* get_audio_port)(struct audio_hw_device *dev, struct 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)

audio_hw_device 구현에서 지원되는 장치를 열거하기 위해 오디오 플링거에서 사용됩니다.

반환 값은 audio_devices_t 값 1개 이상의 비트마스크입니다.

참고: 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.h 파일의 542 번째 줄에 정의되어 있습니다.

int(* open_input_stream)(struct audio_hw_device *dev, audio_io_handle_t 핸들, audio_devices_t 장치, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t 플래그, const char *address, audio_source_t 소스)

이 메서드는 오디오 하드웨어 입력 스트림을 생성하고 엽니다.

audio.h 파일의 611 번째 줄에 정의되어 있습니다.

int(* open_output_stream)(struct audio_hw_device *dev, audio_io_handle_t 핸들, audio_devices_t 장치, audio_output_flags_t 플래그, struct audio_config *config, struct audio_stream_out **stream_out, const char *address)

이 메서드는 오디오 하드웨어 출력 스트림을 생성하고 엽니다. "address" 매개변수는 필요한 경우 "devices" 오디오 장치 유형을 한정합니다. 형식 형식은 장치 유형에 따라 다릅니다.

  • Bluetooth 장치는 "00:11:22:AA:BB:CC" 형식으로 장치의 MAC 주소를 사용합니다.
  • USB 장치는 "card=X;device=Y" 형식의 ALSA 카드 및 장치 번호를 사용합니다.
  • 다른 장치에서는 숫자나 다른 문자열을 사용할 수 있습니다.

audio.h 파일의 599 번째 줄에 정의되어 있습니다.

int(* release_audio_patch)(struct audio_hw_device *dev, audio_patch_handle_t 핸들)

audio.h 파일의 656 번째 줄에 정의되어 있습니다.

int(* set_audio_port_config)(struct audio_hw_device *dev, const struct audio_port_config *config)

audio.h 파일의 669 번째 줄에 정의되어 있습니다.

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

모든 오디오 활동에 대한 오디오 음소거 상태를 설정합니다. 0 이외의 값이 반환되면 소프트웨어 믹서는 이 기능을 에뮬레이션합니다.

audio.h 파일의 630 번째 줄에 정의되어 있습니다.

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)(struct 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 번째 줄에 정의되어 있습니다.


이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.
  • hardware/libhardware/include/hardware/ audio.h