A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
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-03-26 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-03-26 UTC."],[],[]]