2026년부터 트렁크 안정 개발 모델과 일치하고 생태계의 플랫폼 안정성을 보장하기 위해 2분기와 4분기에 AOSP에 소스 코드를 게시합니다. AOSP를 빌드하고 기여하려면 aosp-main 대신 android-latest-release를 사용하는 것이 좋습니다. android-latest-release 매니페스트 브랜치는 항상 AOSP에 푸시된 최신 버전을 참조합니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
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-07-27(UTC)
[null,null,["최종 업데이트: 2025-07-27(UTC)"],[],[]]