2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
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
번 라인에 정의되어 있습니다.
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의
624
라인에 정의되어 있습니다.
int(* get_audio_port)(struct
audio_hw_device
*dev, struct audio_port *port)
|
size_t(* get_input_buffer_size)(const struct
audio_hw_device
*dev, const struct audio_config *config)
|
HAL이 마스터 음소거 제어를 지원하는 경우 HAL의 현재 마스터 음소거 상태를 가져옵니다. AudioFlinger는 서비스가 시작될 때 기본 오디오 HAL에서 이 값을 쿼리하고 모든 HAL에서 초기 마스터 음소거를 설정하는 데 이 값을 사용합니다. 이 메서드를 지원하지 않는 HAL은 NULL로 설정할 수 있습니다.
audio.h
FILE의
639
행에 정의가 있습니다.
HAL이 마스터 볼륨 제어를 지원하는 경우 HAL의 현재 마스터 볼륨 값을 가져옵니다. AudioFlinger는 서비스가 시작될 때 기본 오디오 HAL에서 이 값을 쿼리하고 모든 HAL에서 초기 마스터 볼륨을 설정하는 데 이 값을 사용합니다. 이 메서드를 지원하지 않는 HAL은 NULL로 설정할 수 있습니다.
audio.h
FILE의
561
행에 정의되어 있습니다.
char*(* get_parameters)(const struct
audio_hw_device
*dev, const char *keys)
|
오디오 플링거에서 각
audio_hw_device
구현에서 지원되는 기기를 열거하는 데 사용됩니다.
반환 값은 audio_devices_t 값 1개 이상의 비트 마스크입니다.
참고: AUDIO_DEVICE_API_VERSION_2_0부터 시작하는 오디오 HAL 구현은 이 함수를 구현하지 않습니다. 지원되는 모든 기기는 audio_policy.conf 파일에 나열되어야 하며 오디오 정책 관리자는 이 파일의 정보를 기반으로 적절한 오디오 모듈을 선택해야 합니다.
audio.h
FILE의
536
행에 정의되어 있습니다.
오디오 하드웨어 인터페이스가 초기화되었는지 확인합니다. 성공하면 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)
|
int(* set_audio_port_config)(struct
audio_hw_device
*dev, const struct audio_port_config *config)
|
모든 오디오 활동의 오디오 음소거 상태를 설정합니다. 0이 아닌 값이 반환되면 소프트웨어 믹서가 이 기능을 에뮬레이션합니다.
audio.h
FILE의
630
행에 정의되어 있습니다.
음성 통화 이외의 모든 오디오 활동의 오디오 볼륨을 설정합니다. 범위는 0.0~1.0입니다. 0이 아닌 값이 반환되면 소프트웨어 믹서가 이 기능을 에뮬레이션합니다.
audio.h
FILE의
552
라인에 정의되어 있습니다.
set_mode는 오디오 모드가 변경될 때 호출됩니다. AUDIO_MODE_NORMAL 모드는 표준 오디오 재생을 위한 모드이고, 벨소리가 재생 중일 때는 AUDIO_MODE_RINGTONE 모드이며, 통화가 진행 중일 때는 AUDIO_MODE_IN_CALL 모드입니다.
audio.h
FILE의
568
행에 정의가 있습니다.
음성 통화의 오디오 볼륨을 설정합니다. 범위는 0.0~1.0입니다.
audio.h
FILE의
545
라인에 정의되어 있습니다.
이 구조체에 관한 문서는 다음 파일에서 생성되었습니다.
-
hardware/libhardware/include/hardware/
audio.h
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-03-26(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-03-26(UTC)"],[],[]]