مرجع هيكل audio_hw_device

مرجع هيكل 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)

وصف تفصيلي

التعريف في السطر 516 من الملف audio.h .

التوثيق الميداني

باطلة (* Close_input_stream) (بنية audio_hw_device *dev، بنية audio_stream_in *stream_in)

التعريف في السطر 620 من الملف audio.h .

باطلة (* Close_output_stream) (بنية audio_hw_device *dev، بنية audio_stream_out *stream_out)

التعريف في السطر 607 من الملف audio.h .

بناء hw_device_t مشترك

الطرق الشائعة لجهاز الصوت. يجب أن يكون هذا هو العضو الأول في audio_hw_device حيث سيقوم مستخدمو هذه البنية بإرسال hw_device_t إلى مؤشر audio_hw_device في السياقات التي يُعرف فيها أن hw_device_t يشير إلى audio_hw_device .

التعريف في السطر 522 من الملف audio.h .

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)

التحكم في التوجيه

التعريف في السطر 648 من الملف audio.h .

int(* dump)(const struct audio_hw_device *dev, int fd)

تقوم هذه الطريقة بتفريغ حالة أجهزة الصوت

التعريف في السطر 624 من الملف audio.h .

int(* get_audio_port)(struct audio_hw_device *dev, struct audio_port *port)

التعريف في السطر 665 من الملف audio.h .

size_t(* get_input_buffer_size)(const struct audio_hw_device *dev, const struct audio_config *config)

التعريف في السطر 588 من الملف audio.h .

int(* get_master_mute)(struct audio_hw_device *dev, bool *mute)

احصل على حالة كتم الصوت الرئيسية الحالية لـ HAL، إذا كانت HAL تدعم التحكم الرئيسي في كتم الصوت. سوف يقوم AudioFlinger بالاستعلام عن هذه القيمة من طبقة HAL الصوتية الأساسية عند بدء الخدمة واستخدام القيمة لإعداد كتم الصوت الرئيسي الأولي عبر جميع مناطق HAL. قد تترك طبقات HAL التي لا تدعم هذا الأسلوب مضبوطة على NULL.

التعريف في السطر 639 من الملف audio.h .

int(* get_master_volume)(struct audio_hw_device *dev, float *volume)

احصل على قيمة وحدة التخزين الرئيسية الحالية لـ HAL، إذا كانت طبقة HAL تدعم التحكم في مستوى الصوت الرئيسي. سوف يقوم AudioFlinger بالاستعلام عن هذه القيمة من طبقة HAL الصوتية الأساسية عند بدء الخدمة واستخدام القيمة لتعيين وحدة التخزين الرئيسية الأولية عبر جميع طبقات HAL. قد تترك طبقات HAL التي لا تدعم هذا الأسلوب مضبوطة على NULL.

التعريف في السطر 561 من الملف audio.h .

int(* get_mic_mute)(const struct audio_hw_device *dev, bool *state)

التعريف في السطر 572 من الملف audio.h .

char*(* get_parameters)(const struct audio_hw_device *dev, const char *keys)

التعريف في السطر 581 من الملف audio.h .

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 ويجب على مدير سياسة الصوت اختيار وحدة الصوت المناسبة بناءً على المعلومات الموجودة في هذا الملف.

التعريف في السطر 536 من الملف audio.h .

int(* init_check)(const struct audio_hw_device *dev)

تحقق لمعرفة ما إذا كان قد تم تهيئة واجهة أجهزة الصوت. يُرجع 0 عند النجاح، -ENODEV عند الفشل.

التعريف في السطر 542 من الملف audio.h .

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)

تقوم هذه الطريقة بإنشاء وفتح دفق إدخال أجهزة الصوت

التعريف في السطر 611 من الملف audio.h .

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"
  • قد تستخدم الأجهزة الأخرى رقمًا أو أي سلسلة أخرى.

التعريف في السطر 599 من الملف audio.h .

int(* Release_audio_patch)(بنية audio_hw_device *dev، مقبض audio_patch_handle_t)

التعريف في السطر 656 من الملف audio.h .

int(* set_audio_port_config)(struct audio_hw_device *dev, const struct audio_port_config *config)

التعريف في السطر 669 من الملف audio.h .

int(* set_master_mute)(struct audio_hw_device *dev, bool mute)

ضبط حالة كتم الصوت لجميع الأنشطة الصوتية. إذا تم إرجاع أي قيمة غير 0، فسيقوم خلاط البرامج بمحاكاة هذه الإمكانية.

التعريف في السطر 630 من الملف audio.h .

int(* set_master_volume)(struct audio_hw_device *dev, float Volume)

ضبط مستوى الصوت لجميع الأنشطة الصوتية بخلاف المكالمات الصوتية. تتراوح بين 0.0 و 1.0. إذا تم إرجاع أي قيمة غير 0، فسيقوم خلاط البرامج بمحاكاة هذه الإمكانية.

التعريف في السطر 552 من الملف audio.h .

int(* set_mic_mute)(بنية audio_hw_device *dev، الحالة المنطقية)

التعريف في السطر 571 من الملف audio.h .

int(* set_mode)(بنية audio_hw_device *dev، وضع audio_mode_t)

يتم استدعاء set_mode عندما يتغير وضع الصوت. الوضع AUDIO_MODE_NORMAL مخصص لتشغيل الصوت القياسي، AUDIO_MODE_RINGTONE عند تشغيل نغمة رنين، وAUDIO_MODE_IN_CALL عندما تكون المكالمة قيد التقدم.

التعريف في السطر 568 من الملف audio.h .

int(* set_parameters)(struct audio_hw_device *dev, const char *kv_pairs)

التعريف في السطر 575 من الملف audio.h .

int(* set_voice_volume)(بنية audio_hw_device *dev، حجم التعويم)

ضبط مستوى الصوت للمكالمة الصوتية. النطاق بين 0.0 و 1.0

التعريف في السطر 545 من الملف audio.h .


تم إنشاء وثائق هذه البنية من الملف التالي:
  • الأجهزة/libhardware/تشمل/الأجهزة/ audio.h