Jetpack Media3 הוא המקום החדש לספריות מדיה שמאפשרות לאפליקציות ל-Android להציג חוויות אודיו ווידאו עשירות. Media3 מציעה ארכיטקטורה פשוטה עם אפשרויות התאמה אישית, אמינות ואופטימיזציות מתקדמות שמבוססות על יכולות המכשיר, כדי להפחית את המורכבות שנובעת מהפיצול.
במסמך הזה מופיע מבוא לממשקי API מרכזיים להטמעה של תרחישי שימוש בהפעלה ובעריכה באמצעות Media3.
רכיבי הפעלה
Media3 מציעה כמה רכיבים מרכזיים לתרחישי שימוש בהשמעה. אם עבדתם עם ספריות מדיה קודמות של Android, תכירו את המחלקות שמרכיבות את הרכיבים האלה.
בתרשים הבא מוצג אופן השילוב של הרכיבים האלה באפליקציה טיפוסית.

נגן המדיה
נגן מדיה הוא רכיב באפליקציה שמאפשר הפעלה של קובצי מדיה. ב-Media3 אפשר למצוא:
כיתה | תיאור | הערה לגבי הטמעה |
---|---|---|
Player |
Player הוא ממשק שמגדיר יכולות מסורתיות ברמה גבוהה לנגן מדיה, כמו היכולת להפעיל, להשהות ולחפש.
|
ב-Media3, הממשק Player הוא API משותף שמיושם או נמצא בשימוש על ידי כמה רכיבים, כולל MediaSession ו-MediaController , למשל.
|
ExoPlayer |
ExoPlayer הוא יישום ברירת המחדל של הממשק Player ב-Media3.
|
סשן המדיה
סשן מדיה מספק דרך אוניברסלית לאינטראקציה עם נגן מדיה. ההרשאה הזו מאפשרת לאפליקציה לפרסם הפעלת מדיה למקורות חיצוניים ולקבל בקשות לשליטה בהפעלה ממקורות חיצוניים. ב-Media3 אפשר למצוא:
כיתה | תיאור | הערה לגבי הטמעה |
---|---|---|
MediaSession |
סשנים של מדיה מאפשרים לאפליקציה שלכם ליצור אינטראקציה עם נגן אודיו או וידאו. הם מפרסמים הפעלת מדיה חיצונית ומקבלים פקודות הפעלה ממקורות חיצוניים. |
ב-Media3, ל-MediaSession דרוש Player כדי להריץ פקודות ולקבל את המצב הנוכחי.
|
MediaSessionService |
ה-MediaSessionService מחזיק בסשן מדיה ובנגן המשויך שלו בשירות נפרד מה-MediaSessionService הראשי של האפליקציה כדי לאפשר הפעלה ברקע.Activity
|
|
MediaController |
המחלקות MediaController משמשות בדרך כלל לשליחת פקודות מחוץ לאפליקציה, למשל מאפליקציות אחרות או מהמערכת עצמה.
הפקודות נשלחות ל-Player הבסיסי של MediaSession המשויך.
|
המחלקות MediaController מיישמות את הממשק Player , אבל כשמפעילים method, המחלקה MediaController שולחת את הפקודה שנשלחה אל MediaSession המחובר. אפליקציות לקוח כמו Google Assistant יכולות להשתמש ב-MediaController כדי לשלוט בהפעלה בסשן מחובר.
|
MediaLibraryService |
MediaLibraryService דומה ל-MediaSessionService , אבל הוא כולל ממשקי API נוספים שמאפשרים להציג את ספריית התוכן באפליקציות לקוח.
|
|
MediaBrowser |
המחלקות MediaBrowser מאפשרות למשתמש לנווט בספריית התוכן של אפליקציית מדיה ולבחור אילו פריטים להפעיל.
|
המחלקה MediaBrowser מטמיעה את הממשקים MediaController ו-Player . בדומה ל-MediaController , אפליקציות לקוח כמו Android Auto בדרך כלל מטמיעות את MediaBrowser .
|
מידע נוסף על MediaSession ב-Media3
רכיבי ממשק המשתמש
Media3 מספקת רכיבי ממשק משתמש שמוגדרים כברירת מחדל לצפייה בסרטונים ולשליטה בהפעלה.
כיתה | תיאור | הערה לגבי הטמעה |
---|---|---|
PlayerView |
View כברירת מחדל להצגת סרטון ופקדי הפעלה.
|
מתחבר אל ExoPlayer , MediaController או אל כל Player מותאם אישית אחר.
|
PlayerSurface |
רכיב קומפוזבילי שמייצג ציור ייעודי
Surface
להצגת סרטון.
|
מתחבר לכל Player , אבל לא כולל כפתורי הפעלה.
השימוש הוא רק לצורך עיבוד של מסגרות, ואפשר לשנות את הגודל בהתאם ל
ContentScale סוגים שונים. הרכיב הקומפוזבילי הזה ועוד הרבה רכיבים קומפוזביליים אחרים זמינים בכלי העזר של Compose UI.
|
מידע נוסף על ממשק המשתמש של Media3
עריכת רכיבים
Media3 כולל את ממשקי ה-API של Transformer לתרחישי שימוש בעריכת מדיה, כולל:
- עיבוד של אודיו ווידאו, כמו הוספה של פילטרים ואפקטים
- טיפול בפורמטים מיוחדים, כמו סרטוני HDR וסרטונים בהילוך איטי
- יצירה, כמו שילוב של כמה קובצי קלט
- ייצוא הפלט הסופי לקובץ
כיתה | תיאור | הערה לגבי הטמעה |
---|---|---|
Transformer |
משתמשים במחלקה Transformer כדי להתחיל ולהפסיק טרנספורמציות, וכדי לבדוק עדכוני התקדמות בטרנספורמציה שפועלת.
|
|
Effects |
אובייקט Effects הוא אוסף של אפקטים של אודיו ווידאו שאפשר להחיל על פריט מדיה.
|
אפשר להשתמש בExoPlayer כדי לראות תצוגה מקדימה של האפקטים שנוספו לפריט מדיה לפני שמתחילים את תהליך הייצוא.
|
EditedMediaItem |
EditedMediaItem מייצג פריט מדיה לעיבוד ואת העריכות שצריך להחיל עליו.
|
מידע נוסף על Media3 Transformer
סרטון היכרות
בסרטון הבא מהמהנדסים שיצרו את Media3 יש מבוא לספרייה.
קישורים שימושיים
- Media Developer Center
-
ExoPlayer
docs - מדריך להעברת נתונים (מיגרציה)
- AndroidX Media3 ב-GitHub
- אפליקציית לדוגמה של סשן מדיה ב-Media3
- אפליקציית דוגמה של נגן מוזיקה אוניברסלי ל-Android