שימוש באפליקציית הבדיקה של בקר המדיה

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

מחזור החיים של פעולות במדיה

איור 1. מחזור החיים של פעולות במדיה

אפליקציית Media Controller Test‏ (MCT) מאפשרת לבדוק את המורכבות של הפעלת מדיה ב-Android, ועוזרת לאמת את ההטמעה של סשן המדיה.

אפליקציית הבדיקה של Media Controller זמינה בשתי גרסאות:

  • אפליקציית הלקוח מוטמעת מעל MediaControllerCompat הקודם. כך אפשר לבדוק את אפליקציית סשן המדיה שנבנתה על גבי MediaSessionCompat מדור קודם או על גבי Media3 MediaSession כשאפליקציה חיצונית ניגשת אליה דרך MediaControllerCompat מדור קודם. קוד המקור של הגרסה הקודמת זמין ב-GitHub.
  • אפליקציית הלקוח מוטמעת מעל ל-Media3 MediaController העדכני ביותר. כך תוכלו לבדוק את אפליקציית סשן המדיה שנבנתה על גבי MediaSessionCompat מדור קודם או על גבי Media3 MediaSession כשאפליקציה חיצונית ניגשת אליה דרך Media3 MediaController. קוד המקור של גרסת Media3 זמין ב-GitHub.

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

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

הפעלת ה-MCT

דף ההשקה של MCT
איור 2. דף ההשקה של MCT

כשפותחים את MCT, מוצגות שתי רשימות:

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

בדיקה ידנית של אפליקציה לטלפון

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

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

בדיקה, הכנה ומשחק

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

דף הבקרה
איור 3. דף הבקרה

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

הלחצנים Prepare ו-Play שמתחת לשדה הטקסט מבצעים את הקריאות המתאימות (onPrepare(), ‏ onPrepareFromSearch(), ‏ onPrepareFromUri(),‏ onPrepareFromMediaId(), ‏ onPlay(), ‏ onPlayFromSearch(), ‏ onPlayFromUri(),‏ onPlayFromMediaId()) בהתאם לפעולה שבחרתם.

בדיקת מיקוד האודיו

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

כדי לבדוק את התכונה 'מיקוד אודיו':

  1. בתפריט הנפתח Audio Focus, בוחרים באחת משלוש ההנחיות לגבי משך הזמן: AUDIOFOCUS_GAIN, ‏ AUDIOFOCUS_GAIN_TRANSIENT או AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK.
  2. מקישים על הלחצן כדי לבקש להתמקד.
  3. לוחצים שוב על הלחצן כדי לבטל את המיקוד.

בדיקת אמצעי הבקרה על התעבורה

בדיקת אמצעי הבקרה על התעבורה
איור 4. בדיקת אמצעי הבקרה על התעבורה

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

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

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

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

בדיקה ידנית של אפליקציית וידאו

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

הרצת בדיקות אימות

מסגרת בדיקת האימות כוללת בדיקות בלחיצה אחת שאפשר להריץ כדי לוודא שאפליקציית המדיה מגיבה בצורה נכונה לבקשת הפעלה.

בדיקה של אפליקציה בטלפון

לחצן הבדיקה
איור 5. לחצן הבדיקה

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

מצב MCT

מצב בקרת המדיה
איור 6. מצב בקרת המדיה

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

בחירת בדיקה

דף בחירת הבדיקה
איור 7. הדף 'בחירת בדיקה'

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

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

  • Play
  • הפעלה מהחיפוש
  • מזהה מדיה להפעלה
  • הפעלה מ-URI
  • השהיה
  • עצירה
  • דילוג אל הלחצן הבא
  • דילוג אל הפריט הקודם
  • דילוג לפריט בתור
  • דילוג לנקודת זמן

תוצאות בדיקה

תוצאת בדיקה מוצלחת
איור 8. תוצאת בדיקה מוצלחת

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

בדיקת אפליקציה ל-Android TV

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

דף ההשקה של MCT בטלוויזיה

איור 9. דף ההשקה של MCT בטלוויזיה

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

הדף 'בדיקות אימות' בטלוויזיה

איור 10. דף בדיקות האימות בטלוויזיה

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

דף פרטי הבדיקה בטלוויזיה

איור 11. דף פרטי הבדיקה בטלוויזיה

בדיקות שדורשות שאילתה מסומנות בסמל מקלדת. לחיצה על אחד מהבדיקות האלה פותחת שדה קלט לשאילתה. לוחצים על 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.

תיקוני באגים ושיפורים תמיד יתקבלו בברכה. הוראות לשליחת תוכן