לקבלת השהיה הנמוכה ביותר לשמע, אנו ממליצים להשתמש באודיו מקורי של Android המבוסס על OpenSL ES 1.0.1.
רשימת בדיקה ליישום
כדי להשתמש באודיו מקורי של Android:
- הורד והתקן את ה- Android NDK . בשאר המסמך הזה, נניח
NDKroot
היא הספרייה שבה התקנת את NDK. - קרא את התיעוד התומך.
- בדוק אם יש API רמה 9 ומעלה.
- בדוק את התכונה android.hardware.audio.low_latency.
- השתמש בגודל המאגר המקורי המומלץ ובקצב הדגימה המוחזרים על ידי android.media.AudioManager.getProperty(java.lang.String)
הערה : יש להשתמש באותו גודל מאגר וקצב דגימה גם לקלט.
- בדרך כלל ספירת חיץ של OpenSL ES של 1 מספיקה.
- שמור על המטפלים בהתקשרות חוזרת קצרים, ללא שימוש מתפרץ במעבד או חסימה בלתי מוגבלת. הימנע מהיפוך עדיפות.
- שקול להשתמש באלגוריתמים שאינם חוסמים כדי לתקשר בין מטפלי התקשרות חוזרים בקלט ופלט, ובין המטפלים בהתקשרות חוזרת לבין שאר האפליקציה שלך.
מסמכים תומכים
OpenSL ES 1.0.1
השתמש במציג PDF כדי לעיין במפרט OpenSL 1.0.1. זוהי התייחסות ארוכה למדי, ולא כולה תהיה רלוונטית עבורך; אבל תצטרך להתייעץ עם זה לפרטים על ה-API.
הערה : מסמך זה מתאר את ה-OpenSL ES 1.0.1 המלא, אך האודיו המקורי של אנדרואיד מבוסס למעשה על תת-קבוצה של OpenSL ES 1.0.1 עם כמה הרחבות ספציפיות לאנדרואיד.
מסמכים המתארים גרסאות מאוחרות יותר של OpenSL ES, כגון 1.1, אינם רלוונטיים לאנדרואיד.
OpenSL ES לאנדרואיד
המסמך "OpenSL ES for Android" מסופק בהתקנת NDK, ואינו זמין כעת באינטרנט. פתח את הקישור הזה בדפדפן:
NDKroot/docs/Additional_library_docs/opensles/index.html
תרצה לדפדף בכל המסמך, אך שים לב במיוחד לסעיף המשנה "ביצועים" בסעיף "הערות תכנות".
סעיף "תכונות נתמכות מ-OpenSL ES 1.0.1" מתאר את קבוצת המשנה הנתמכת על ידי אנדרואיד.
הסעיף "תוספי אנדרואיד" מתאר הרחבות ספציפיות לאנדרואיד שאינם כלולים בבסיס OpenSL ES 1.0.1.
מערכת יחסים עם OpenSL ES 1.0.1
דיאגרמת Venn זו מציגה את הקשר בין אודיו מקורי של אנדרואיד לבין OpenSL ES 1.0.1.

איור 1. דיאגרמת Venn
משאבים אחרים
source.android.com
האתר source.android.com מיועד בעיקר ליצרני OEM הבונים מכשירי אנדרואיד, ולספקי SoC המספקים רכיבים ליצרני OEM אלה.
עם זאת, קיים שפע של מידע שימושי על חביון באתר זה, אז אולי כדאי שתבדוק אותו. עיין במאמרים ב- Audio latency.
אנדרואיד-ndk
אם יש לך שאלות לגבי אופן השימוש באודיו מקורי של אנדרואיד, תוכל לשאול בקבוצת הדיון android-ndk.
סרטונים
- אודיו עם ביצועים גבוהים באנדרואיד (Google I/O 2013)
- הסרטון כולו עוסק בחביון.
- בניית חוויות מולטימדיה נהדרות באנדרואיד (Google I/O 2014)
- 14 הדקות הראשונות עוסקות באודיו בכלל ובזמן השהיית קלט בפרט.
- אחזור אודיו: גדלי מאגר (100 ימים של Google Dev)
- מתאר את הקשר בין זמן השהיית אודיו, גדלי מאגר ותזמון משימות.