audio_hw_device 구조체 참조

audio_hw_device 구조체 참조

#include < audio.h >

데이터 필드

struct hw_device_t   일반적인
 
uint32_t(*  get_supported_devices )(const struct audio_hw_device *dev)
 
int(*  init_check )(const struct audio_hw_device *dev)
 
int(*  set_voice_volume )(struct audio_hw_device *dev, float volume)
 
int(*  set_master_volume )(struct audio_hw_device *dev, float volume)
 
int(*  get_master_volume )(struct audio_hw_device *dev, float *volume)
 
int(*  set_mode )(struct audio_hw_device *dev, audio_mode_t mode)
 
int(*  set_mic_mute )(struct audio_hw_device *dev, bool state)
 
int(*  get_mic_mute )(const struct audio_hw_device *dev, bool *state)
 
int(*  set_parameters )(struct audio_hw_device *dev, const char *kv_pairs)
 
char *(*  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)
 
int(*  open_output_stream )(struct audio_hw_device *dev, audio_io_handle_t handle, audio_devices_t devices, audio_output_flags_t flags, struct audio_config *config, struct audio_stream_out **stream_out, const char *address)
 
void(*  close_output_stream )(struct audio_hw_device *dev, struct audio_stream_out *stream_out)
 
int(*  open_input_stream )(struct audio_hw_device *dev, audio_io_handle_t handle, audio_devices_t devices, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t flags, const char *address, audio_source_t source)
 
void(*  close_input_stream )(struct audio_hw_device *dev, struct audio_stream_in *stream_in)
 
int(*  dump )(const struct audio_hw_device *dev, int fd)
 
int(*  set_master_mute )(struct audio_hw_device *dev, bool mute)
 
int(*  get_master_mute )(struct audio_hw_device *dev, bool *mute)
 
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)
 
int(*  release_audio_patch )(struct audio_hw_device *dev, audio_patch_handle_t handle)
 
int(*  get_audio_port )(struct audio_hw_device *dev, struct audio_port *port)
 
int(*  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 FILE의 620 행에 정의되어 있습니다.

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

audio.h FILE의 607 줄에 정의되어 있습니다.

struct hw_device_t common

오디오 기기의 일반적인 메서드 이 구조체의 사용자는 hw_device_t hw_device_t audio_hw_device 를 참조하는 것으로 알려진 컨텍스트에서 audio_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 FILE의 648 행에 정의되어 있습니다.

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

이 메서드는 오디오 하드웨어의 상태를 덤프합니다.

audio.h FILE의 624 라인에 정의되어 있습니다.

int(* get_audio_port)(struct audio_hw_device *dev, struct audio_port *port)

audio.h FILE의 665 라인에 정의되어 있습니다.

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

audio.h FILE의 588 행에 정의되어 있습니다.

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

HAL이 마스터 음소거 제어를 지원하는 경우 HAL의 현재 마스터 음소거 상태를 가져옵니다. AudioFlinger는 서비스가 시작될 때 기본 오디오 HAL에서 이 값을 쿼리하고 모든 HAL에서 초기 마스터 음소거를 설정하는 데 이 값을 사용합니다. 이 메서드를 지원하지 않는 HAL은 NULL로 설정할 수 있습니다.

audio.h FILE의 639 행에 정의가 있습니다.

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

HAL이 마스터 볼륨 제어를 지원하는 경우 HAL의 현재 마스터 볼륨 값을 가져옵니다. AudioFlinger는 서비스가 시작될 때 기본 오디오 HAL에서 이 값을 쿼리하고 모든 HAL에서 초기 마스터 볼륨을 설정하는 데 이 값을 사용합니다. 이 메서드를 지원하지 않는 HAL은 NULL로 설정할 수 있습니다.

audio.h FILE의 561 행에 정의되어 있습니다.

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

audio.h FILE의 572 라인에 정의가 있습니다.

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

audio.h FILE의 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 FILE의 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 handle, audio_devices_t devices, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t flags, const char *address, audio_source_t source)

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

audio.h FILE의 611 행에 정의되어 있습니다.

int(* open_output_stream)(struct audio_hw_device *dev, audio_io_handle_t handle, audio_devices_t devices, audio_output_flags_t flags, struct audio_config *config, struct audio_stream_out **stream_out, const char *address)

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

  • 블루투스 기기는 '00:11:22:AA:BB:CC' 형식의 기기 MAC 주소를 사용합니다.
  • USB 기기는 'card=X;device=Y' 형식의 ALSA 카드 및 기기 번호를 사용합니다.
  • 다른 기기는 숫자나 다른 문자열을 사용할 수 있습니다.

audio.h FILE의 599 행에 정의되어 있습니다.

int(* release_audio_patch)(struct audio_hw_device *dev, audio_patch_handle_t handle)

audio.h FILE의 656 행에 정의되어 있습니다.

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

audio.h FILE의 669 라인에 정의되어 있습니다.

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

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

audio.h FILE의 630 행에 정의되어 있습니다.

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

음성 통화 이외의 모든 오디오 활동의 오디오 볼륨을 설정합니다. 범위는 0.0~1.0입니다. 0이 아닌 값이 반환되면 소프트웨어 믹서가 이 기능을 에뮬레이션합니다.

audio.h FILE의 552 라인에 정의되어 있습니다.

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

audio.h FILE의 571 행에 정의되어 있습니다.

int(* set_mode)(struct audio_hw_device *dev, audio_mode_t mode)

set_mode는 오디오 모드가 변경될 때 호출됩니다. AUDIO_MODE_NORMAL 모드는 표준 오디오 재생을 위한 모드이고, 벨소리가 재생 중일 때는 AUDIO_MODE_RINGTONE 모드이며, 통화가 진행 중일 때는 AUDIO_MODE_IN_CALL 모드입니다.

audio.h FILE의 568 행에 정의가 있습니다.

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

audio.h FILE의 575 라인에 정의되어 있습니다.

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

음성 통화의 오디오 볼륨을 설정합니다. 범위는 0.0~1.0입니다.

audio.h FILE의 545 라인에 정의되어 있습니다.


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