A partir de 2026, para alinhar com nosso modelo de desenvolvimento estável de tronco e garantir a estabilidade da plataforma para o ecossistema, vamos publicar o código-fonte no AOSP no segundo e quarto trimestres. Para criar e contribuir com o AOSP, recomendamos usar android-latest-release em vez de aosp-main. O branch de manifesto android-latest-release sempre vai fazer referência à versão mais recente enviada ao AOSP. Para mais informações, consulte Mudanças no AOSP.
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Referência da estrutura audio_hw_device
#include <
audio.h
>
|
|
|
struct
hw_device_t
|
comum
|
|
|
|
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)
|
|
|
Definição na linha
516
do arquivo
audio.h
.
|
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)
|
Controle de roteamento
Definição na linha
648
do arquivo
audio.h
.
Esse método descarta o estado do hardware de áudio.
Definição na linha
624
do arquivo
audio.h
.
|
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)
|
Receba o status de desativação principal atual do HAL, se ele oferecer suporte ao controle de desativação principal. O AudioFlinger vai consultar esse valor do HAL de áudio principal quando o serviço for iniciado e usar o valor para definir o silenciamento principal inicial em todos os HALs. As HALs que não oferecem suporte a esse método podem deixá-lo definido como NULL.
Definição na linha
639
do arquivo
audio.h
.
Conferir o valor de volume principal atual do HAL, se ele oferecer suporte ao controle de volume principal. O AudioFlinger vai consultar esse valor do HAL de áudio principal quando o serviço for iniciado e usar o valor para definir o volume principal inicial em todos os HALs. As HALs que não oferecem suporte a esse método podem deixá-lo definido como NULL.
Definição na linha
561
do arquivo
audio.h
.
|
char*(* get_parameters)(const struct
audio_hw_device
*dev, const char *keys)
|
usado pelo flinger de áudio para enumerar quais dispositivos são compatíveis com cada
audio_hw_device
implementação.
O valor de retorno é uma máscara de bits de um ou mais valores de audio_devices_t.
OBSERVAÇÃO: as implementações de HAL de áudio que começam com AUDIO_DEVICE_API_VERSION_2_0 não implementam essa função. Todos os dispositivos compatíveis precisam estar listados no arquivo audio_policy.conf, e o gerenciador de políticas de áudio precisa escolher o módulo de áudio adequado com base nas informações desse arquivo.
Definição na linha
536
do arquivo
audio.h
.
verifica se a interface de hardware de áudio foi inicializada. Retorna 0 em caso de sucesso, -ENODEV em caso de falha.
Definição na linha
542
do arquivo
audio.h
.
|
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)
|
Esse método cria e abre o fluxo de entrada de hardware de áudio.
Definição na linha
611
do arquivo
audio.h
.
|
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)
|
Esse método cria e abre o fluxo de saída de hardware de áudio. O parâmetro "address" qualifica o tipo de dispositivo de áudio "devices" se necessário. O formato depende do tipo de dispositivo:
-
Os dispositivos Bluetooth usam o endereço MAC do dispositivo no formato "00:11:22:AA:BB:CC"
-
Os dispositivos USB usam o cartão ALSA e os números de dispositivo no formato "card=X;device=Y"
-
Outros dispositivos podem usar um número ou qualquer outra string.
Definição na linha
599
do arquivo
audio.h
.
|
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)
|
definir o status de mudo de áudio para todas as atividades de áudio. Se qualquer valor diferente de 0 for retornado, o mixer de software vai emular esse recurso.
Definição na linha
630
do arquivo
audio.h
.
definir o volume de áudio para todas as atividades de áudio, exceto chamadas de voz. Varia de 0,0 a 1,0. Se qualquer valor diferente de 0 for retornado, o mixer de software vai emular esse recurso.
Definição na linha
552
do arquivo
audio.h
.
set_mode é chamado quando o modo de áudio muda. O modo AUDIO_MODE_NORMAL é para a reprodução de áudio padrão, AUDIO_MODE_RINGTONE quando um toque está sendo reproduzido e AUDIO_MODE_IN_CALL quando uma chamada está em andamento.
Definição na linha
568
do arquivo
audio.h
.
definir o volume de áudio de uma chamada de voz. O intervalo está entre 0,0 e 1,0
Definição na linha
545
do arquivo
audio.h
.
A documentação desse struct foi gerada com base no seguinte arquivo:
-
hardware/libhardware/include/hardware/
audio.h
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[null,null,["Última atualização 2025-07-27 UTC."],[],[]]