Odniesienie do struktury audio_hw_device
#include < audio.h >
Pola danych | |
struktura hw_device_t | wspólny |
uint32_t(* | get_supported_devices )(stała struktura audio_hw_device *dev) |
int(* | init_check )(stała struktura audio_hw_device *dev) |
int(* | set_voice_volume )(struct audio_hw_device *dev, głośność zmiennoprzecinkowa) |
int(* | set_master_volume )(struct audio_hw_device *dev, głośność zmiennoprzecinkowa) |
int(* | get_master_volume )(struct audio_hw_device *dev, float *volume) |
int(* | set_mode )(struct audio_hw_device *dev, tryb audio_mode_t) |
int(* | set_mic_mute )(struct audio_hw_device *dev, stan bool) |
int(* | get_mic_mute )(const struktura audio_hw_device *dev, bool *state) |
int(* | set_parameters )(struct audio_hw_device *dev, const char *kv_pairs) |
znak *(* | get_parameters )(const struct audio_hw_device *dev, const char *keys) |
rozmiar_t(* | get_input_buffer_size )(const struktura audio_hw_device *dev, const struktura audio_config *config) |
int(* | open_output_stream )(struct audio_hw_device *dev, uchwyt audio_io_handle_t, urządzenia audio_devices_t, flagi audio_output_flags_t, struktura audio_config *config, struktura audio_stream_out **stream_out, const char *adres) |
próżnia(* | close_output_stream )(struct audio_hw_device *dev, struct audio_stream_out *stream_out) |
int(* | open_input_stream )(struct audio_hw_device *dev, uchwyt audio_io_handle_t, urządzenia audio_devices_t, struct audio_config *config, struct audio_stream_in **stream_in, flagi audio_input_flags_t, const char *adres, źródło audio_source_t) |
próżnia(* | zamknij_strumień_wejściowy )(struct audio_hw_device *dev, struct audio_stream_in *stream_in) |
int(* | zrzut )(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, uchwyt audio_patch_handle_t) |
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) |
szczegółowy opis
Dokumentacja terenowa
void(* close_input_stream)(struct audio_hw_device *dev, struktura audio_stream_in *stream_in) |
void(* close_output_stream)(struct audio_hw_device *dev, struktura audio_stream_out *stream_out) |
struktura hw_device_t wspólna |
Typowe metody urządzenia audio. Musi to być pierwszy element audio_hw_device , ponieważ użytkownicy tej struktury będą rzutować wskaźnik hw_device_t na wskaźnik audio_hw_device w kontekstach, w których wiadomo, że hw_device_t odwołuje się do 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 *uchwyt) |
int(* dump)(const struktura 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 struktura audio_hw_device *dev, const struktura audio_config *config) |
int(* get_master_mute)(struct audio_hw_device *dev, bool *mute) |
Uzyskaj bieżący stan wyciszenia głównego dla warstwy HAL, jeśli warstwa HAL obsługuje kontrolę wyciszenia głównego. AudioFlinger zapyta o tę wartość z podstawowej warstwy HAL audio po uruchomieniu usługi i użyje tej wartości do ustawienia początkowego wyciszenia głównego we wszystkich warstwach HAL. Warstwy HAL, które nie obsługują tej metody, mogą pozostawić ją ustawioną na NULL.
int(* get_master_volume)(struct audio_hw_device *dev, float *volume) |
Uzyskaj bieżącą wartość głośności głównej dla warstwy HAL, jeśli warstwa HAL obsługuje kontrolę głośności głównej. AudioFlinger zapyta o tę wartość z głównej warstwy audio HAL po uruchomieniu usługi i użyje tej wartości do ustawienia początkowej głośności głównej we wszystkich warstwach HAL. Warstwy HAL, które nie obsługują tej metody, mogą pozostawić ją ustawioną na NULL.
int(* get_mic_mute)(const struktura audio_hw_device *dev, bool *stan) |
char*(* get_parameters)(const struktura audio_hw_device *dev, const char *keys) |
uint32_t(* get_supported_devices)(const struktura audio_hw_device *dev) |
używany przez audio flinger do wyliczenia, jakie urządzenia są obsługiwane przez każdą implementację audio_hw_device .
Wartość zwracana to maska bitowa zawierająca co najmniej 1 wartość audio_devices_t
UWAGA: implementacje audio HAL zaczynające się od AUDIO_DEVICE_API_VERSION_2_0 nie implementują tej funkcji. Wszystkie obsługiwane urządzenia powinny być wymienione w pliku audio_policy.conf, a menedżer polityki audio musi wybrać odpowiedni moduł audio w oparciu o informacje zawarte w tym pliku.
int(* init_check)(const struktura audio_hw_device *dev) |
int(* open_input_stream)(struct audio_hw_device *dev, uchwyt audio_io_handle_t, urządzenia audio_devices_t, struct audio_config *config, struct audio_stream_in **stream_in, flagi audio_input_flags_t, const char *adres, źródło audio_source_t) |
int(* open_output_stream)(struct audio_hw_device *dev, uchwyt audio_io_handle_t, urządzenia audio_devices_t, flagi audio_output_flags_t, struct audio_config *config, struct audio_stream_out **stream_out, const char *adres) |
Ta metoda tworzy i otwiera sprzętowy strumień wyjściowy audio. Parametr „adres” w razie potrzeby kwalifikuje typ urządzenia audio „urządzenia”. Format formatu zależy od typu urządzenia:
- Urządzenia Bluetooth używają adresu MAC urządzenia w postaci „00:11:22:AA:BB:CC”
- Urządzenia USB korzystają z karty ALSA i numerów urządzeń w postaci „karta=X;urządzenie=Y”
- Inne urządzenia mogą używać liczby lub dowolnego innego ciągu.
int(* release_audio_patch)(struct audio_hw_device *dev, uchwyt audio_patch_handle_t) |
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, głośność zmiennoprzecinkowa) |
int(* set_mic_mute)(struct audio_hw_device *dev, stan bool) |
int(* set_mode)(struct audio_hw_device *dev, tryb audio_mode_t) |
int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs) |
int(* set_voice_volume)(struct audio_hw_device *dev, głośność zmiennoprzecinkowa) |
Dokumentacja tej struktury została wygenerowana z następującego pliku:
- hardware/libhardware/include/hardware/ audio.h