Referensi Struktur audio_hw_device
#include < audio.h >
Bidang Data | |
struktur hw_device_t | umum |
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, status 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) |
karakter *(* | get_parameters )(const struct audio_hw_device *dev, const char *keys) |
ukuran_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) |
ruang kosong(* | close_output_stream )(struktur audio_hw_device *dev, struktur 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, sumber audio_source_t) |
ruang kosong(* | close_input_stream )(struktur audio_hw_device *dev, struktur 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) |
Detil Deskripsi
Dokumentasi Lapangan
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) |
struct hw_device_t umum |
Metode umum perangkat audio. Ini harus menjadi anggota pertama audio_hw_device karena pengguna struktur ini akan melemparkan hw_device_t ke audio_hw_device pointer dalam konteks yang diketahui bahwa hw_device_t mereferensikan 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) |
Dapatkan status master mute saat ini untuk HAL, jika HAL mendukung kontrol master mute. AudioFlinger akan menanyakan nilai ini dari HAL audio utama saat layanan dimulai dan menggunakan nilai untuk menyetel master mute awal di semua HAL. HAL yang tidak mendukung metode ini dapat membiarkannya disetel ke NULL.
int(* get_master_volume)(struct audio_hw_device *dev, float *volume) |
Dapatkan nilai volume master saat ini untuk HAL, jika HAL mendukung kontrol volume master. AudioFlinger akan menanyakan nilai ini dari HAL audio utama saat layanan dimulai dan menggunakan nilai untuk menyetel volume master awal di semua HAL. HAL yang tidak mendukung metode ini dapat membiarkannya disetel ke 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) |
digunakan oleh audio flinger untuk menghitung perangkat apa yang didukung oleh setiap implementasi audio_hw_device .
Nilai yang dikembalikan adalah bitmask dari 1 atau lebih nilai audio_devices_t
CATATAN: implementasi audio HAL yang dimulai dengan AUDIO_DEVICE_API_VERSION_2_0 tidak mengimplementasikan fungsi ini. Semua perangkat yang didukung harus terdaftar dalam file audio_policy.conf dan pengelola kebijakan audio harus memilih modul audio yang sesuai berdasarkan informasi dalam file ini.
int(* init_check)(const struct audio_hw_device *dev) |
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, sumber audio_source_t) |
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) |
Metode ini membuat dan membuka aliran keluaran perangkat keras audio. Parameter "alamat" memenuhi syarat jenis perangkat audio "perangkat" jika diperlukan. Format format tergantung pada jenis perangkat:
- Perangkat Bluetooth menggunakan alamat MAC perangkat dalam bentuk "00:11:22:AA:BB:CC"
- Perangkat USB menggunakan kartu ALSA dan nomor perangkat dalam bentuk "card=X;device=Y"
- Perangkat lain dapat menggunakan nomor atau string lainnya.
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, status bool) |
int(* set_mode)(struct audio_hw_device *dev, audio_mode_t mode) |
int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs) |
int(* set_voice_volume)(struct audio_hw_device *dev, float volume) |
Dokumentasi untuk struct ini dibuat dari file berikut:
- hardware/libhardware/include/hardware/ audio.h