אפליקציות מדיה שמבצעות אינטראקציה קולית עם Google Assistant בטלפונים, במכוניות, בטלוויזיות ובאוזניות עם Android פועלות באמצעות ממשקי API של סשנים של מדיה ב-Android ומשתמשות בפעולות מדיה. לפעמים קשה לעקוב אחרי מחזור החיים של הפעולה במדיה. גם לבקשת הפעלה פשוטה יש שלבים ביניים רבים שבהם משהו יכול להשתבש, כפי שמוצג בקו הזמן הפשוט:
אפליקציית Media Controller Test (MCT) מאפשרת לבדוק את המורכבות של הפעלת מדיה ב-Android, ועוזרת לאמת את ההטמעה של סשן המדיה.
אפליקציית הבדיקה של Media Controller זמינה בשתי גרסאות:
- אפליקציית הלקוח מוטמעת מעל
MediaControllerCompat
הקודם. כך אפשר לבדוק את אפליקציית סשן המדיה שנבנתה על גביMediaSessionCompat
מדור קודם או על גבי Media3MediaSession
כשאפליקציה חיצונית ניגשת אליה דרךMediaControllerCompat
מדור קודם. קוד המקור של הגרסה הקודמת זמין ב-GitHub. - אפליקציית הלקוח מוטמעת מעל ל-Media3
MediaController
העדכני ביותר. כך תוכלו לבדוק את אפליקציית סשן המדיה שנבנתה על גביMediaSessionCompat
מדור קודם או על גבי Media3MediaSession
כשאפליקציה חיצונית ניגשת אליה דרך Media3MediaController
. קוד המקור של גרסת Media3 זמין ב-GitHub.
ה-MCT מציג מידע על MediaController
של האפליקציה, כמו PlaybackState
והמטא-נתונים שלה, וניתן להשתמש בו כדי לבדוק אמצעי בקרה על מדיה בין אפליקציות.
ה-MCT כולל גם מסגרת לבדיקת אימות שמאפשרת להפוך את בדיקות בקרת האיכות לאוטומטיות.
כדי להשתמש ב-MCT, צריך שתהיה באפליקציה שירות של דפדפן מדיה, וצריך לאפשר ל-MCT להתחבר אליו. מידע נוסף זמין במאמר יצירת שירות של דפדפן מדיה.
הפעלת ה-MCT

כשפותחים את MCT, מוצגות שתי רשימות:
- Active MediaSessions (סשנים פעילים של מדיה) – הרשימה הזו ריקה בהתחלה כשמריצים את ה-MCT, ותופיע ההודעה 'לא נמצאו אפליקציות מדיה. נדרשת הרשאה של Notification Listener כדי לסרוק אחר סשנים פעילים של מדיה". לוחצים על הגדרות כדי לעבור למסך ההרשאות ולהפעיל את ההרשאה ל-MCT.
- הטמעות של MediaBrowserService – ברשימה הזו מוצגות אפליקציות שהטמיעו שירות דפדפן מדיה. אם הטמעתם שירות של דפדפן מדיה, האפליקציה שלכם תופיע ברשימה הזו, אבל תוכלו להשתמש ב-MCT רק אם הגדרתם את האפליקציה לקבל את כל החיבורים או הוספת את ה-MCT לרשימת ההיתרים. מידע נוסף זמין במאמר שליטה בחיבורי לקוח באמצעות onGetRoot().
בדיקה ידנית של אפליקציה לטלפון
אם אישרתם ל-MCT להתחבר לשירות דפדפן המדיה של האפליקציה, האפליקציה שלכם תופיע ברשימה של הטמעות של שירות דפדפן המדיה. מאתרים אותה ולוחצים על שליטה כדי להפעיל את האפליקציה ברקע.
אחרת, תצטרכו להפעיל את האפליקציה בעצמכם ברקע, ואז ללחוץ על שליטה כשהיא מופיעה ברשימת סשני המדיה הפעילים.
בדיקה, הכנה ומשחק
כש-MCT מתחיל לשלוט באפליקציה, הוא מציג את המטא-נתונים של הסשן הנוכחי של האפליקציה: המדיה שנבחרה כרגע והפעולות שהסשן מוכן לטפל בהן.

בחלק העליון של דף אמצעי הבקרה של MCT מופיע תפריט נפתח שבו אפשר לבחור באפשרויות חיפוש, URI, מזהה מדיה או ללא, וגם שדה טקסט שבו אפשר לציין את נתוני הקלט שמשויכים לחיפוש, ל-URI או למזהה המדיה, אם בוחרים באחת מהאפשרויות האלה.
הלחצנים Prepare ו-Play שמתחת לשדה הטקסט מבצעים את הקריאות המתאימות (onPrepare()
, onPrepareFromSearch()
, onPrepareFromUri()
, onPrepareFromMediaId()
, onPlay()
, onPlayFromSearch()
, onPlayFromUri()
, onPlayFromMediaId()
) בהתאם לפעולה שבחרתם.
בדיקת מיקוד האודיו
אפליקציית מדיה תקינה אמורה להיות מסוגלת לטפל במיקוד אודיו. כדי לבדוק את התכונה 'מיקוד אודיו', אפשר להפעיל אפליקציית אודיו אחרת לצד האפליקציה שלכם. בדף אמצעי הבקרה של MCT יש לחצן שמאפשר לבקש את מיקוד האודיו ולבטל אותו.
כדי לבדוק את התכונה 'מיקוד אודיו':
- בתפריט הנפתח Audio Focus, בוחרים באחת משלוש ההנחיות לגבי משך הזמן:
AUDIOFOCUS_GAIN
, AUDIOFOCUS_GAIN_TRANSIENT
אוAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
. - מקישים על הלחצן כדי לבקש להתמקד.
- לוחצים שוב על הלחצן כדי לבטל את המיקוד.
בדיקת אמצעי הבקרה על התעבורה

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

כדי לגשת לבדיקות האימות, לוחצים על הלחצן בדיקה לצד אפליקציית המדיה.
מצב MCT

בתצוגה הבאה מוצג מידע מפורט על MediaController
של ה-MCT, למשל PlaybackState
, המטא-נתונים והתור. יש שני לחצנים בפינה השמאלית העליונה של סרגל הכלים. הלחצן הימני מאפשר לעבור בין יומנים שניתן לנתח לבין יומנים בפורמט. הלחצן שמשמאל מרענן את התצוגה כדי להציג את המידע העדכני ביותר.
בחירת בדיקה

מחליקים ימינה כדי להגיע לתצוגה של בדיקות האימות, שבה מוצגת רשימה של הבדיקות הזמינות שאפשר לגלול בה. אם בבדיקה נעשה שימוש בשאילתה, כמו הבדיקה 'הפעלה מחיפוש' שמוצגת באיור 7, מופיע שדה טקסט להזנת מחרוזת השאילתה.
ה-MCT כולל בדיקות של פעולות המדיה הבאות, ואנחנו מוסיפים בדיקות נוספות לפרויקט באופן קבוע:
- Play
- הפעלה מהחיפוש
- מזהה מדיה להפעלה
- הפעלה מ-URI
- השהיה
- עצירה
- דילוג אל הלחצן הבא
- דילוג אל הפריט הקודם
- דילוג לפריט בתור
- דילוג לנקודת זמן
תוצאות בדיקה

אזור התוצאות בחלק התחתון של התצוגה ריק בהתחלה. התוצאות יוצגו כשמריצים בדיקה. לדוגמה, כדי להריץ את הבדיקה 'הפעלת המודעות בחיפוש', מזינים שאילתת חיפוש בשדה הטקסט ולוחצים על הרצת הבדיקה. בצילום המסך הבא מוצגת תוצאת בדיקה מוצלחת.
בדיקת אפליקציה ל-Android TV
כשמפעילים את ה-MCT ב-Android TV, מוצגת רשימה של אפליקציות המדיה המותקנות. חשוב לזכור שאפליקציה תופיע ברשימה הזו רק אם היא מטמיעה שירות של דפדפן מדיה.
בחירת אפליקציה מעבירה אתכם למסך הבדיקה, שבו מוצגת בצד שמאל רשימה של בדיקות אימות.
כשמריצים בדיקה, בצד ימין של המסך מוצג מידע על MediaController שנבחר. לפרטים נוספים, אפשר לעיין ביומני MCT ב-Logcat.
בדיקות שדורשות שאילתה מסומנות בסמל מקלדת. לחיצה על אחד מהבדיקות האלה פותחת שדה קלט לשאילתה. לוחצים על Enter כדי להריץ את הבדיקה.
כדי להקל על הזנת הטקסט, אפשר גם להשתמש בפקודה adb
:
adb shell input text your-query
אפשר להשתמש ב-'%s' כדי להוסיף רווח בין מילים. לדוגמה, הפקודה הבאה מוסיפה את הטקסט 'hello world' לשדה הקלט.
adb shell input text hello%sworld
בניית בדיקה
אתם יכולים לשלוח בקשת משיכה עם בדיקות נוספות שלדעתכם הן מועילות. כדי ללמוד איך ליצור בדיקות חדשות, אפשר להיכנס לMCT GitHub Wiki ולקרוא את ההוראות לבדיקת האימות.
כאן מפורטות ההוראות לשליחת תוכן.
מקורות מידע נוספים
ה-MCT מיועד לשימוש בשילוב עם אפליקציות שמטמיעות ממשקי API של מדיה. דוגמה לאפליקציה כזו היא Universal Android Music Player.
תיקוני באגים ושיפורים תמיד יתקבלו בברכה. הוראות לשליחת תוכן