يتضمّن إصدار Android 10 المتطلبات التالية المتعلقة بالتسجيل باستخدام VOICE_COMMUNICATION.
- يجب أن توفّر عمليات التنفيذ ميزة إلغاء الصدى الصوتي (AEC) في مسار التسجيل عند التسجيل باستخدام
VOICE_COMMUNICATION. - في حال توفير ميزة AEC، يجب أن تكون قابلة للاكتشاف والتحكّم من خلال واجهة برمجة التطبيقات الخاصة بحزمة SDK
AcousticEchoCanceler.
يتيح نظام Android الأساسي استخدام المؤثرات الصوتية على الأجهزة المتوافقة في حزمة
audiofx، التي يمكن للمطوّرين الوصول إليها.
على سبيل المثال، يتيح جهاز Nexus 10 استخدام تأثيرات المعالجة المسبقة التالية:
الإقران مع مثيلات AudioSource
يتم إقران تأثيرات المعالجة المسبقة بوضع حالة الاستخدام الذي يتم فيه طلب المعالجة المسبقة. في عملية تطوير تطبيقات Android، يُشار إلى حالة الاستخدام باسم مثيل AudioSource، ويطلب مطوّرو التطبيقات استخدام تجريد AudioSource بدلاً من جهاز أجهزة الصوت الفعلي. يربط "مدير سياسات الصوت" في Android مثيلاً من AudioSource بإعدادات مسار الالتقاط المحدّدة (بما في ذلك الجهاز ومستوى الصوت والمعالجة المسبقة) وفقًا لقواعد خاصة بالمنتج. تتوفّر المصادر التالية للمطوّرين:
android.media.MediaRecorder.AudioSource.CAMCORDERandroid.media.MediaRecorder.AudioSource.VOICE_COMMUNICATIONandroid.media.MediaRecorder.AudioSource.VOICE_CALLandroid.media.MediaRecorder.AudioSource.VOICE_DOWNLINKandroid.media.MediaRecorder.AudioSource.VOICE_UPLINKandroid.media.MediaRecorder.AudioSource.VOICE_RECOGNITIONandroid.media.MediaRecorder.AudioSource.MICandroid.media.MediaRecorder.AudioSource.DEFAULT
يتم تحديد تأثيرات المعالجة المسبقة التلقائية التي يتم تطبيقها على كل مثيل AudioSource في ملف /vendor/etc/audio_effects.xml. لتحديد التأثيرات التلقائية الخاصة بك لكل مثيل AudioSource، أنشئ ملف /vendor/etc/audio_effects.xml وحدِّد تأثيرات المعالجة المسبقة التي تريد تفعيلها. للاطّلاع على مثال، راجِع عملية التنفيذ الخاصة بجهاز Nexus 10 في device/samsung/manta/audio_effects.xml.
تكتسب مثيلات AudioEffect جلسة وتُصدرها عند إنشائها وإتلافها، ما يتيح استمرار التأثيرات (مثل "مُحسِّن مستوى الصوت") طوال الجلسة.
يُفعّل المثال التالي المعالجة المسبقة لكل من مثيلَي AudioSource وAudioSource. من خلال تعريف إعدادات AudioSource بهذه الطريقة، يطلب إطار العمل تلقائيًا استخدام هذه التأثيرات من طبقة HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
توليف المصدر
لا تتطلّب عملية ضبط AudioSource متطلبات صريحة بشأن مستوى الصوت أو معالجة الصوت، باستثناء التعرّف على الصوت (VOICE_RECOGNITION). وتشمل متطلبات التعرّف على الصوت ما يلي:
- استجابة تردد ثابتة (± 3 ديسيبل) من 100 هرتز إلى 4 كيلوهرتز
- إعدادات المحادثة القريبة: 90 dB SPL تقرأ متوسط الجذر التربيعي (RMS) بقيمة 2500 (عينات 16 بت)
- يتتبّع المستوى خطيًا من -18 ديسيبل إلى +12 ديسيبل مقارنةً بمستوى ضغط الصوت البالغ 90 ديسيبل
- معدّل التشويش التوافقي الكلي أقل من %1 (مستوى ضغط الصوت 90 ديسيبل في نطاق التردد من 100 إلى 4000 هرتز)
- متطلبات الموجات فوق الصوتية القريبة (للاطّلاع على الاختبارات، راجِع اختبارات الموجات فوق الصوتية القريبة):
- التوافق مع
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUNDعلى النحو المحدّد في الفقرة 7.8.3 من مستند CDD - إتاحة معدّلَي أخذ العيّنات 44100 أو 48000 أو كليهما بدون أي فلاتر تمرير النطاق أو فلاتر منع التمويه
- التوافق مع
- إيقاف التأثيرات/المعالجة المُسبقة تلقائيًا
في ما يلي أمثلة على ضبط تأثيرات مختلفة لمصادر مختلفة:
- أداة كتم الضوضاء
- تم تحسينها لتناسب أداة إزالة ضوضاء الرياح في
CAMCORDER - تم تحسين أداء ميزة "إلغاء الضوضاء الثابتة" للغة
VOICE_COMMUNICATION
- تم تحسينها لتناسب أداة إزالة ضوضاء الرياح في
- التحكّم التلقائي في الكسب
- تم ضبطه على الاستماع إلى الكلام عن قرب باستخدام الميكروفون
VOICE_COMMUNICATIONوالميكروفون الرئيسي للهاتف - تم تحسين الأداء عند التحدث من مسافة بعيدة في
CAMCORDER
- تم ضبطه على الاستماع إلى الكلام عن قرب باستخدام الميكروفون
الموارد
لمزيد من المعلومات، يُرجى الاطّلاع على المراجع التالية:
- مستندات Android الخاصة بحزمة audiofx
- مستندات Android حول تأثير الصوت "إزالة الضوضاء"
/device/google/crosshatch/audio_effects.xmlملف لهاتف Pixel 3