يتضمن إصدار Android 10 المتطلبات التالية للالتقاط باستخدام VOICE_COMMUNICATION
.
- يجب أن توفر التطبيقات أداة إلغاء الصدى الصوتي (AEC) على مسار الالتقاط عند الالتقاط باستخدام
VOICE_COMMUNICATION
. - في حالة توفير إلغاء الصدى الصوتي (AEC)، يجب أن يكون قابلاً للاكتشاف والتحكم فيه من خلال
AcousticEchoCanceler
الخاص بـ SDK API.
توفر منصة Android تأثيرات صوتية على الأجهزة المدعومة في حزمة audiofx
، وهي متاحة للمطورين للوصول إليها. على سبيل المثال، يدعم جهاز Nexus 10 تأثيرات المعالجة المسبقة التالية:
إقران مع مثيلات AudioSource
يتم إقران تأثيرات المعالجة المسبقة مع وضع حالة الاستخدام الذي يتم فيه طلب المعالجة المسبقة. في تطوير تطبيقات Android، تتم الإشارة إلى حالة الاستخدام على أنها مثيل AudioSource
؛ ويطلب مطورو التطبيقات استخدام تجريد AudioSource
بدلاً من جهاز الصوت الفعلي. يقوم Android Audio Policy Manager بتعيين مثيل AudioSource
لتكوين مسار التقاط معين (بما في ذلك الجهاز والكسب والمعالجة المسبقة) وفقًا للقواعد الخاصة بالمنتج. المصادر التالية مكشوفة للمطورين:
-
android.media.MediaRecorder.AudioSource.CAMCORDER
-
android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
-
android.media.MediaRecorder.AudioSource.VOICE_CALL
-
android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
-
android.media.MediaRecorder.AudioSource.VOICE_UPLINK
-
android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
-
android.media.MediaRecorder.AudioSource.MIC
-
android.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
جلسة وتطلقها عند إنشائها وتدميرها، مما يتيح للتأثيرات (مثل محسن الصوت) الاستمرار طوال الجلسة.
يتيح المثال التالي المعالجة المسبقة لمثيلات VoIP AudioSource
وCamcorder 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 ديسيبل SPL يقرأ RMS بقيمة 2500 (عينات 16 بت)
- يتتبع المستوى خطيًا من -18 ديسيبل إلى +12 ديسيبل بالنسبة إلى 90 ديسيبل SPL
- THD < 1% (90 ديسيبل SPL في نطاق 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