Riferimento alla struttura audio_hw_device
#include < audio.h >
Campi dati | |
struttura hw_device_t | comune |
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, volume float) |
int(* | set_master_volume )(struct audio_hw_device *dev, volume float) |
int(* | get_master_volume )(struct audio_hw_device *dev, float *volume) |
int(* | set_mode )(struct audio_hw_device *dev, audio_mode_t modalità) |
int(* | set_mic_mute )(struct audio_hw_device *dev, stato bool) |
int(* | get_mic_mute )(const struct audio_hw_device *dev, bool *state) |
int(* | set_parameters )(struct audio_hw_device *dev, const char *kv_pairs) |
carattere *(* | get_parameters )(const struct audio_hw_device *dev, const char *keys) |
taglia_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, handle audio_io_handle_t, dispositivi audio_devices_t, flag audio_output_flags_t, struct audio_config *config, struct audio_stream_out **stream_out, const char *address) |
vuoto(* | close_output_stream )(struct audio_hw_device *dev, struct audio_stream_out *stream_out) |
int(* | open_input_stream )(struct audio_hw_device *dev, handle audio_io_handle_t, dispositivi audio_devices_t, struct audio_config *config, struct audio_stream_in **stream_in, flag audio_input_flags_t, const char *indirizzo, sorgente audio_source_t) |
vuoto(* | 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) |
Descrizione dettagliata
Documentazione sul campo
void(* close_input_stream)(struct audio_hw_device *dev, struct audio_stream_in *stream_in) |
void(* close_output_stream)(struct audio_hw_device *dev, struct audio_stream_out *stream_out) |
struttura hw_device_t comune |
Metodi comuni del dispositivo audio. Questo deve essere il primo membro di audio_hw_device poiché gli utenti di questa struttura trasformeranno un puntatore hw_device_t in audio_hw_device in contesti in cui è noto che hw_device_t fa riferimento a audio_hw_device .
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(* dump)(const struct audio_hw_device *dev, int fd) |
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) |
int(* get_master_mute)(struct audio_hw_device *dev, bool *mute) |
Ottieni lo stato corrente di disattivazione dell'audio principale per l'HAL, se l'HAL supporta il controllo di disattivazione dell'audio principale. AudioFlinger richiederà questo valore dall'HAL audio primario all'avvio del servizio e utilizzerà il valore per impostare il silenziamento principale iniziale su tutti gli HAL. Gli HAL che non supportano questo metodo potrebbero lasciarlo impostato su NULL.
int(* get_master_volume)(struct audio_hw_device *dev, float *volume) |
Ottieni il valore corrente del volume principale per l'HAL, se l'HAL supporta il controllo del volume principale. AudioFlinger eseguirà una query su questo valore dall'HAL audio primario all'avvio del servizio e utilizzerà il valore per impostare il volume principale iniziale su tutti gli HAL. Gli HAL che non supportano questo metodo potrebbero lasciarlo impostato su NULL.
int(* get_mic_mute)(const struct audio_hw_device *dev, bool *state) |
char*(* get_parameters)(const struct audio_hw_device *dev, const char *keys) |
uint32_t(* get_supported_devices)(const struct audio_hw_device *dev) |
utilizzato da audio flinger per enumerare quali dispositivi sono supportati da ciascuna implementazione audio_hw_device .
Il valore restituito è una maschera di bit di 1 o più valori di audio_devices_t
NOTA: le implementazioni HAL audio che iniziano con AUDIO_DEVICE_API_VERSION_2_0 non implementano questa funzione. Tutti i dispositivi supportati dovrebbero essere elencati nel file audio_policy.conf e il gestore delle policy audio deve scegliere il modulo audio appropriato in base alle informazioni contenute in questo file.
int(* init_check)(const struct audio_hw_device *dev) |
int(* open_input_stream)(struct audio_hw_device *dev, audio_io_handle_t handle, dispositivi audio_devices_t, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t flag, const char *address, audio_source_t source) |
int(* open_output_stream)(struct audio_hw_device *dev, audio_io_handle_t handle, dispositivi audio_devices_t, flag audio_output_flags_t, struct audio_config *config, struct audio_stream_out **stream_out, const char *address) |
Questo metodo crea e apre il flusso di output dell'hardware audio. Il parametro "indirizzo" qualifica il tipo di dispositivo audio "dispositivi", se necessario. Il formato del formato dipende dal tipo di dispositivo:
- I dispositivi Bluetooth utilizzano l'indirizzo MAC del dispositivo nel formato "00:11:22:AA:BB:CC"
- I dispositivi USB utilizzano la scheda ALSA e i numeri del dispositivo nel formato "card=X;device=Y"
- Altri dispositivi possono utilizzare un numero o qualsiasi altra stringa.
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) |
int(* set_master_mute)(struct audio_hw_device *dev, bool mute) |
int(* set_master_volume)(struct audio_hw_device *dev, float volume) |
int(* set_mic_mute)(struct audio_hw_device *dev, stato bool) |
int(* set_mode)(struct audio_hw_device *dev, audio_mode_t modalità) |
int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs) |
int(* set_voice_volume)(struct audio_hw_device *dev, float volume) |
La documentazione per questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ audio.h