مرجع هيكل الجهاز audio_hw_device

مرجع هيكل الجهاز audio_hw_device

#include < audio.h >

حقول البيانات

هيكل hw_device_t مشترك
uint32_t (* get_supported_devices ) ( إنشاء هيكل audio_hw_device * dev)
int (* init_check ) ( إنشاء هيكل الصوت_hw_device * ديف)
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، bool state)
int (* get_mic_mute ) (إنشاء بنية صوتية_hw_device * dev ، حالة منطقية *)
int (* set_parameters ) (Struct audio_hw_device * dev، const char * kv_pairs)
حرف * (* get_parameters ) ( إنشاء هيكل audio_hw_device * dev ، مفاتيح const char *)
size_t (* get_input_buffer_size ) ( إنشاء هيكل audio_hw_device * dev ، إنشاء هيكل audio_config * config)
int (* open_output_stream ) ( هيكل 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)
فارغ(* close_output_stream ) (Struct audio_hw_device * dev، Struct audio_stream_out * stream_out)
int (* open_input_stream ) ( هيكل audio_hw_device * dev ، audio_io_handle_t handle ، audio_devices_t devices ، هيكل audio_config * config ، هيكل audio_stream_in ** stream_in ، audio_input_flags_t flags ، const char * address ، audio_source_t source)
فارغ(* close_input_stream ) (Struct audio_hw_device * dev، Struct audio_stream_in * stream_in)
int (* تفريغ ) (const بناء 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 ) ( هيكل audio_hw_device * dev ، عدد_مصادر int غير موقعة ، مصادر const هيكل audio_port_config * ، عدد الأحواض غير الموقعة ، أحواض التركيب الصوتي ، المنفذ_كونفيغ * ، 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 ) ( هيكل audio_hw_device * dev ، const هيكل audio_port_config * config)

وصف مفصل

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

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

باطل ( * Close_input_stream )

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

باطل ( * close_output_stream )

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

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

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

int (* create_audio_patch) ( هيكل audio_hw_device * dev ، عدد_الصادر غير الموقعة ، مصادر تكوين الصوت_port_config * ، عدد الأحواض غير الموقعة ، أحواض / أحواض / مقابض audio_patch_handle_t *)

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

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

int (* dump) (const construct 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) ( إنشاء هيكل audio_hw_device * dev ، إنشاء هيكل audio_config * config)

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

int (* get_master_mute) (Struct audio_hw_device * dev، bool * mute)

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

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

int (* get_master_volume) (Struct audio_hw_device * dev، float * volume)

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

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

int (* get_mic_mute) ( إنشاء هيكل audio_hw_device * dev ، حالة منطقية *)

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

char * (* get_parameters) (const مبنى audio_hw_device * dev ، const char * keys)

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

uint32_t (* get_supported_devices) ( إنشاء هيكل audio_hw_device * dev)

يستخدمه قاذف الصوت لتعداد الأجهزة التي يدعمها كل تطبيق audio_hw_device .

قيمة الإرجاع هي قناع بت من 1 أو أكثر من قيم audio_devices_t

ملاحظة: لا تنفذ تطبيقات HAL الصوتية التي تبدأ بـ AUDIO_DEVICE_API_VERSION_2_0 هذه الوظيفة. يجب إدراج جميع الأجهزة المدعومة في ملف audio_policy.conf ويجب على مدير سياسة الصوت اختيار وحدة الصوت المناسبة بناءً على المعلومات الواردة في هذا الملف.

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

int (* init_check) (const بناء audio_hw_device * dev)

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

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

int (* open_input_stream) ( هيكل audio_hw_device * dev ، audio_io_handle_t handle ، audio_devices_t devices ، هيكل audio_config * config ، هيكل audio_stream_in ** stream_in ، audio_input_flags_t flags ، const char * address ، audio_source_t source)

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

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

int (* open_output_stream) ( هيكل audio_hw_device * dev ، audio_io_handle_t handle ، audio_devices_t devices ، audio_output_flags_t flags ، هيكل audio_config * config ، هيكل 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) (Struct audio_hw_device * dev، audio_patch_handle_t handle)

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

int (* set_audio_port_config) ( هيكل audio_hw_device * dev ، const هيكل 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) ( هيكل audio_hw_device * dev ، حجم تعويم)

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

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

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

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

int (* set_mode) (Struct audio_hw_device * dev، audio_mode_t mode)

يتم استدعاء 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 .


تم إنشاء وثائق هذه البنية من الملف التالي:
  • الأجهزة / الأدوات الإلكترونية / تشمل / الأجهزة / الصوت