audio_hw_device Yapı Referansı
#include < audio.h >
Veri alanları | |
hw_device_t yapısı | yaygın |
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, kayan ses seviyesi) |
int(* | set_master_volume )(struct audio_hw_device *dev, kayan ses seviyesi) |
int(* | get_master_volume )(struct audio_hw_device *dev, float *volume) |
int(* | set_mode )(struct audio_hw_device *dev, audio_mode_t modu) |
int(* | set_mic_mute )(struct audio_hw_device *dev, bool durumu) |
int(* | get_mic_mute )(const struct audio_hw_device *dev, bool *durum) |
int(* | set_parameters )(struct audio_hw_device *dev, const char *kv_pairs) |
karakter *(* | 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 tanıtıcı, audio_devices_t cihazları, audio_output_flags_t bayrakları, struct audio_config *config, struct audio_stream_out **stream_out, const char *adres) |
geçersiz(* | 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 tanıtıcı, audio_devices_t cihazları, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t bayrakları, const char *adres, audio_source_t kaynağı) |
geçersiz(* | 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 sessiz) |
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 *yuvalar, audio_patch_handle_t *tanımlayıcı) |
int(* | release_audio_patch )(struct audio_hw_device *dev, audio_patch_handle_t tanıtıcı) |
int(* | get_audio_port )(struct audio_hw_device *dev, struct audio_port *bağlantı noktası) |
int(* | set_audio_port_config )(struct audio_hw_device *dev, const struct audio_port_config *config) |
Detaylı Açıklama
Saha Dokümantasyonu
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) |
hw_device_t ortak yapısı |
Ses cihazının yaygın yöntemleri. Bu yapının kullanıcıları, hw_device_t öğesinin bir audio_hw_device referansına başvurduğu bilinen bağlamlarda audio_hw_device işaretçisine bir hw_device_t yayınlayacağı için bu, audio_hw_device öğesinin ilk üyesi olmalıdır .
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 *yuvalar, audio_patch_handle_t *tanımlayıcı) |
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) |
HAL ana sessize alma kontrolünü destekliyorsa, HAL için mevcut ana sessize alma durumunu alın. AudioFlinger, hizmet başlatıldığında birincil ses HAL'sinden bu değeri sorgulayacak ve tüm HAL'lerde ilk ana ses kapatmayı ayarlamak için bu değeri kullanacaktır. Bu yöntemi desteklemeyen HAL'ler onu NULL olarak ayarlı halde bırakabilir.
int(* get_master_volume)(struct audio_hw_device *dev, float *volume) |
HAL ana ses düzeyi kontrolünü destekliyorsa, HAL için geçerli ana ses düzeyi değerini alın. AudioFlinger, hizmet başladığında birincil ses HAL'sinden bu değeri sorgulayacak ve tüm HAL'lerde ilk ana ses düzeyini ayarlamak için bu değeri kullanacaktır. Bu yöntemi desteklemeyen HAL'ler onu NULL olarak ayarlı halde bırakabilir.
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) |
audio_hw_device uygulaması tarafından hangi cihazların desteklendiğini numaralandırmak için audio flinger tarafından kullanılır.
Dönüş değeri, audio_devices_t'nin 1 veya daha fazla değerinden oluşan bir bit maskesidir
NOT: AUDIO_DEVICE_API_VERSION_2_0 ile başlayan ses HAL uygulamaları bu işlevi uygulamaz. Desteklenen tüm cihazlar audio_policy.conf dosyasında listelenmeli ve ses politikası yöneticisi bu dosyadaki bilgilere göre uygun ses modülünü seçmelidir.
int(* init_check)(const struct audio_hw_device *dev) |
int(* open_input_stream)(struct audio_hw_device *dev, audio_io_handle_t tanıtıcı, audio_devices_t cihazları, struct audio_config *config, struct audio_stream_in **stream_in, audio_input_flags_t bayrakları, const char *adres, audio_source_t kaynağı) |
int(* open_output_stream)(struct audio_hw_device *dev, audio_io_handle_t tanıtıcı, audio_devices_t cihazları, audio_output_flags_t bayrakları, struct audio_config *config, struct audio_stream_out **stream_out, const char *adres) |
Bu yöntem, ses donanımı çıkış akışını oluşturur ve açar. "Adres" parametresi, gerekirse "aygıtlar" ses aygıtı türünü nitelendirir. Format formatı cihaz tipine bağlıdır:
- Bluetooth aygıtları, aygıtın "00:11:22:AA:BB:CC" biçimindeki MAC adresini kullanır.
- USB aygıtları "kart=X;aygıt=Y" biçimindeki ALSA kartını ve aygıt numaralarını kullanır
- Diğer cihazlar bir sayı veya başka bir dize kullanabilir.
int(* yayın_audio_patch)(struct audio_hw_device *dev, audio_patch_handle_t tanıtıcı) |
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 sessiz) |
int(* set_master_volume)(struct audio_hw_device *dev, float birimi) |
int(* set_mic_mute)(struct audio_hw_device *dev, bool durumu) |
int(* set_mode)(struct audio_hw_device *dev, audio_mode_t modu) |
int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs) |
int(* set_voice_volume)(struct audio_hw_device *dev, float ses seviyesi) |
Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur:
- donanım/libdonanım/include/donanım/ audio.h