שילוב של ספריית Jetpack Media3 כסטנדרט להפעלת מדיה, סשנים, עריכה, מטא-נתונים וחילוץ פריימים, כדי להבטיח שהאפליקציות ישתמשו בממשקי API מומלצים לטיפול במשימות מדיה מורכבות בכל גורמי הצורה של Android. העברת נתונים מממשקי API של מסגרות מדור קודם (כמו MediaPlayer, MediaMuxer ו-MediaExtractor) לספריית Jetpack Media3 החזקה מאפשרת ליצור ערכת כלים מאוחדת ועשירה בתכונות, שמבטיחה חוויות מדיה עקביות.
הטמעה נדרשת
כדי לעמוד בדרישות של תוכנית AEP, האפליקציה שלכם צריכה לעמוד בדרישות הבאות:
- לא להשתמש בממשקי API של framework קודם של Android, כולל MediaPlayer, MediaExtractor, MediaMuxer ו-MediaMetadataRetriever.
- אם הפעלת תוכן היא חלק ממסלול המשתמש העיקרי, האפליקציה צריכה לשלב סשנים של מדיה כדי שמערכת ההפעלה תזהה אותם וכדי לאפשר שילוב מקושר למכשיר אחר.
- אם באפליקציה יש ספרייה של תוכן אודיו, היא צריכה לחשוף את התוכן דרך MediaLibraryService וליישם תמיכה בהמשך הפעלת מדיה.
היכן ההנחיה חלה
ההנחיה הזו רלוונטית ל:
- אפליקציות שתומכות בהפעלה של מדיה (סרטון או אודיו) או בעריכת סרטונים.
- לכל סוגי המכשירים שבהם האפליקציה זמינה.
פטורים
אפליקציות יכולות להשתמש במסגרת חלופית שוות ערך שמספקת איכות, יכולות משתמש, יציבות ותאימות דומים בכל האקוסיסטם. אם יש לכם מסגרת מתאימה לבדיקה, אתם יכולים לפנות לתמיכה. כדי שההטמעה החלופית תעמוד בדרישות, היא צריכה לעמוד במדדים הבאים:
- ברשת מהירה, הפריימים הראשונים של הסרטון צריכים להיות מוצגים תוך 500 אלפיות השנייה מרגע שהמשתמש מפעיל את הסרטון.
- ההפעלה צריכה להיות חלקה, בלי ירידות במספר הפריימים או חוסרים באודיו שניתן לשמוע במהלך חלון של 30 שניות.
- האפליקציה צריכה לנהל כראוי את הרשאת האודיו.
- האפליקציה חייבת להגיב למקשי מדיה בחומרה, גם כשהיא פועלת ברקע.
- אם האפליקציה תומכת בהפעלה ברקע, היא צריכה לפרסם התראה בסגנון מדיה ולהשתמש בשירות שפועל בחזית.
- אם האפליקציה תומכת בהמשך הפעלה, היא צריכה להטמיע את media resumption.
- צריך לטפל בניתוקים של האוזניות בצורה חלקה. לדוגמה, להשהות את ההפעלה במקום לעבור לרמקול.
- ההפעלה צריכה להימשך בלי השמטת פריימים כשעוברים בין מצבי אוריינטציה של המכשיר.
חומרי עזר ומשאבים שקשורים לתכונות
במשאבים הבאים אפשר למצוא הנחיות להטמעה ופרטים טכניים על התכונה Media3. המקורות האלה הם לעיונכם בלבד ולא כוללים דרישות נוספות של התוכנית.
- Jetpack Media3
- Media3 ExoPlayer
- שליטה בהפעלת המדיה והצגת מודעות באמצעות MediaSession
- MediaExtractorCompat API
- MediaMuxerCompat API
- MetadataRetriever API
- FrameExtractor API