Referência da estrutura audio_hw_device

Referência da estrutura audio_hw_device

#include < audio.h >

Campos de dados

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)
 

Descrição detalhada

Definição na linha 516 do arquivo audio.h .

Documentação do campo

void(* close_input_stream)(struct audio_hw_device *dev, struct audio_stream_in *stream_in)

Definição na linha 620 do arquivo audio.h .

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

Definição na linha 607 do arquivo audio.h .

struct hw_device_t common

Métodos comuns do dispositivo de áudio. Ela precisa ser o primeiro membro de audio_hw_device porque os usuários dessa estrutura vão transmitir um hw_device_t para ponteiro audio_hw_device em contextos em que se sabe que o hw_device_t faz referência a um audio_hw_device .

Definição na linha 522 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 .

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

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)

Definição na linha 665 do arquivo audio.h .

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

Definição na linha 588 do arquivo audio.h .

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

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 .

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

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 .

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

Definição na linha 572 do arquivo audio.h .

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

Definição na linha 581 do arquivo audio.h .

uint32_t(* get_supported_devices)(const struct audio_hw_device *dev)

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 .

int(* init_check)(const struct audio_hw_device *dev)

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)

Definição na linha 656 do arquivo audio.h .

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

Definição na linha 669 do arquivo audio.h .

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

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 .

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

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 .

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

Definição na linha 571 do arquivo audio.h .

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

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 .

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

Definição na linha 575 do arquivo audio.h .

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

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