במהדורת Android 10 יש את הדרישות הבאות לצילום באמצעות VOICE_COMMUNICATION
.
- בהטמעות צריך לספק ביטול הד אקוסטי (AEC) בנתיב הצילום כשמצלמים באמצעות
VOICE_COMMUNICATION
. - אם אתם מספקים AEC, הוא חייב להיות גלוי וניתן לשליטה דרך
AcousticEchoCanceler
של SDK API.
פלטפורמת Android מספקת אפקטים קוליים במכשירים נתמכים בחבילה
audiofx
, שזמינה למפתחים.
לדוגמה, ב-Nexus 10 יש תמיכה באפקטים הבאים של עיבוד מקדים:
התאמה למופעים של AudioSource
ההשפעות של העיבוד המקדים מותאמות למצב התרחיש לדוגמה שבו מבקשים את העיבוד המקדים. בפיתוח אפליקציות ל-Android, תרחישים לדוגמה נקראים מכונות AudioSource
, ומפתחי האפליקציות מבקשים להשתמש בהפשטה של AudioSource
במקום במכשיר החומרה של האודיו בפועל. מנהל המדיניות של אודיו ב-Android ממפה מכונה של 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
מקבלות ומפנות סשן כשהן נוצרות ומוחקות, וכך מאפשרות לאפקטים (כמו Loudness Enhancer) להישאר במהלך הסשן.
בדוגמה הבאה מופעל עיבוד מקדים למכונות AudioSource
של VoIP ו-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 dB) מ-100 Hz עד 4 kHz
- הגדרה של שיחה קרוב: 90 dB SPL קוראת RMS של 2500 (דגימות של 16 ביט)
- רמת המעקב היא לינארית מ-18 dB ל-12 dB ביחס ל-90 dB SPL
- THD < 1% (90 dB SPL בטווח של 100 עד 4,000 Hz)
- דרישות לשימוש באולטרסאונד קרוב (לבדיקה, ראו בדיקות של אולטרסאונד קרוב):
- תמיכה ב-
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
כפי שמוגדר בקטע 7.8.3 ב-CDD. - תמיכה באחת משתי תדירות הדגימה 44100 או 48000, ללא מסנני תדרי מעבר או מסנני ביטול רעשי aliasing.
- תמיכה ב-
- אפקטים/עיבוד מקדים מושבתים כברירת מחדל
דוגמאות לכוונון אפקטים שונים למקורות שונים:
- ביטול רעשים
- התאמה של ביטול רעשי הרוח עבור
CAMCORDER
- התאמה של סינון הרעשים לתנועה סטטית עבור
VOICE_COMMUNICATION
- התאמה של ביטול רעשי הרוח עבור
- בקרת רווח אוטומטית
- מכווננת לדיבור קרוב ב-
VOICE_COMMUNICATION
ובמיקרופ הראשי של הטלפון - התכונה 'שיחה לטווח רחוק' מופעלת עבור
CAMCORDER
- מכווננת לדיבור קרוב ב-
משאבים
מידע נוסף זמין במקורות הבאים:
- מסמכי תיעוד של Android עבור חבילת audiofx
- מסמכי התיעוד של Android בנושא אפקט האודיו 'ביטול רעשי רקע'
- קובץ
/device/google/crosshatch/audio_effects.xml
ל-Pixel 3