مرجع هيكل audio_hw_device
#include < audio.h >
حقول البيانات | |
البنية hw_device_t | شائع |
uint32_t(* | get_supported_devices )(const struct audio_hw_device *dev) |
كثافة العمليات (* | init_check )(const struct audio_hw_device *dev) |
كثافة العمليات (* | set_voice_volume )(struct audio_hw_device *dev, float Volume) |
كثافة العمليات (* | set_master_volume )(struct audio_hw_device *dev, float Volume) |
كثافة العمليات (* | get_master_volume )(struct audio_hw_device *dev, float *volume) |
كثافة العمليات (* | set_mode )(بنية audio_hw_device *dev، وضع audio_mode_t) |
كثافة العمليات (* | set_mic_mute )(بنية audio_hw_device *dev، الحالة المنطقية) |
كثافة العمليات (* | get_mic_mute )(const struct audio_hw_device *dev, bool *state) |
كثافة العمليات (* | set_parameters )(struct audio_hw_device *dev, const char *kv_pairs) |
شار *(* | 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) |
كثافة العمليات (* | open_output_stream )(struct audio_hw_device *dev، مقبض audio_io_handle_t، أجهزة audio_devices_t، إشارات audio_output_flags_t، هيكل audio_config *config، هيكل audio_stream_out **stream_out، const char *address) |
فارغ(* | Close_output_stream )(struct audio_hw_device *dev, struct audio_stream_out *stream_out) |
كثافة العمليات (* | open_input_stream )(struct audio_hw_device *dev، مقبض audio_io_handle_t، أجهزة audio_devices_t، هيكل audio_config *config، هيكل audio_stream_in **stream_in، إشارات audio_input_flags_t، const char *address، مصدر audio_source_t) |
فارغ(* | Close_input_stream )(struct audio_hw_device *dev, struct audio_stream_in *stream_in) |
كثافة العمليات (* | تفريغ )(const struct audio_hw_device *dev, int fd) |
كثافة العمليات (* | set_master_mute )(struct audio_hw_device *dev, bool mute) |
كثافة العمليات (* | get_master_mute )(struct audio_hw_device *dev, bool *mute) |
كثافة العمليات (* | 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) |
كثافة العمليات (* | Release_audio_patch )(بنية audio_hw_device *dev، مقبض audio_patch_handle_t) |
كثافة العمليات (* | get_audio_port )(struct audio_hw_device *dev, struct audio_port *port) |
كثافة العمليات (* | set_audio_port_config )(struct audio_hw_device *dev, const struct audio_port_config *config) |
وصف تفصيلي
التوثيق الميداني
باطلة (* Close_input_stream) (بنية audio_hw_device *dev، بنية audio_stream_in *stream_in) |
باطلة (* Close_output_stream) (بنية audio_hw_device *dev، بنية audio_stream_out *stream_out) |
بناء hw_device_t مشترك |
الطرق الشائعة لجهاز الصوت. يجب أن يكون هذا هو العضو الأول في audio_hw_device حيث سيقوم مستخدمو هذه البنية بإرسال hw_device_t إلى مؤشر audio_hw_device في السياقات التي يُعرف فيها أن hw_device_t يشير إلى audio_hw_device .
int(* create_audio_patch)(struct audio_hw_device *dev, 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) |
احصل على حالة كتم الصوت الرئيسية الحالية لـ HAL، إذا كانت HAL تدعم التحكم الرئيسي في كتم الصوت. سوف يقوم AudioFlinger بالاستعلام عن هذه القيمة من طبقة HAL الصوتية الأساسية عند بدء الخدمة واستخدام القيمة لإعداد كتم الصوت الرئيسي الأولي عبر جميع مناطق HAL. قد تترك طبقات HAL التي لا تدعم هذا الأسلوب مضبوطة على NULL.
int(* get_master_volume)(struct audio_hw_device *dev, float *volume) |
احصل على قيمة وحدة التخزين الرئيسية الحالية لـ HAL، إذا كانت طبقة HAL تدعم التحكم في مستوى الصوت الرئيسي. سوف يقوم AudioFlinger بالاستعلام عن هذه القيمة من طبقة HAL الصوتية الأساسية عند بدء الخدمة واستخدام القيمة لتعيين وحدة التخزين الرئيسية الأولية عبر جميع طبقات HAL. قد تترك طبقات HAL التي لا تدعم هذا الأسلوب مضبوطة على 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) |
يستخدمه قاذف الصوت لتعداد الأجهزة التي يدعمها كل تطبيق audio_hw_device .
قيمة الإرجاع هي قناع بت لقيمة واحدة أو أكثر من audio_devices_t
ملاحظة: تطبيقات HAL الصوتية التي تبدأ بـ AUDIO_DEVICE_API_VERSION_2_0 لا تنفذ هذه الوظيفة. يجب إدراج جميع الأجهزة المدعومة في ملف audio_policy.conf ويجب على مدير سياسة الصوت اختيار وحدة الصوت المناسبة بناءً على المعلومات الموجودة في هذا الملف.
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, audio_source_t source) |
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) |
تقوم هذه الطريقة بإنشاء وفتح دفق إخراج أجهزة الصوت. تؤهل معلمة "العنوان" نوع جهاز الصوت "الأجهزة" إذا لزم الأمر. يعتمد تنسيق التنسيق على نوع الجهاز:
- تستخدم أجهزة Bluetooth عنوان MAC الخاص بالجهاز بالصيغة "00:11:22:AA:BB:CC"
- تستخدم أجهزة USB بطاقة ALSA وأرقام الأجهزة بالصيغة "card=X;device=Y"
- قد تستخدم الأجهزة الأخرى رقمًا أو أي سلسلة أخرى.
int(* Release_audio_patch)(بنية audio_hw_device *dev، مقبض 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, float Volume) |
int(* set_mic_mute)(بنية audio_hw_device *dev، الحالة المنطقية) |
int(* set_mode)(بنية audio_hw_device *dev، وضع audio_mode_t) |
int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs) |
int(* set_voice_volume)(بنية audio_hw_device *dev، حجم التعويم) |
تم إنشاء وثائق هذه البنية من الملف التالي:
- الأجهزة/libhardware/تشمل/الأجهزة/ audio.h