Google is committed to advancing racial equity for Black communities. See how.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

מסגרת קלט טלוויזיה

סמל HAL של Android TV

מסגרת הקלט של Android TV (TIF) מפשטת את הצגת התוכן החי ל- Android TV. אנדרואיד TIF מספק ממשק API סטנדרטי ליצרנים ליצירת מודולי קלט לשליטה ב- Android TV ומאפשר חיפוש בטלוויזיה בשידור חי והמלצות באמצעות מטא נתונים שפורסמו על ידי קלט הטלוויזיה.

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

רכיבים

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

מסגרת קלט הטלוויזיה מורכבת מ:

  • ספק טלוויזיה ( com.android.providers.tv.TvProvider ): בסיס נתונים של ערוצים, תוכניות והרשאות נלוות
  • אפליקציית טלוויזיה ( com.android.tv.TvActivity ): האפליקציה המטפלת באינטראקציה של המשתמשים
  • מנהל קלט הטלוויזיה ( android.media.tv.TvInputManager ): מאפשר לכניסות הטלוויזיה לתקשר עם אפליקציית הטלוויזיה
  • קלט טלוויזיה: אפליקציה המייצגת טיונרים ויציאות קלט פיזיות או וירטואליות
  • קלט טלוויזיה HAL (מודול tv_input ): הגדרת חומרה המאפשרת tv_input טלוויזיה מערכת לגשת לחומרה ספציפית לטלוויזיה בעת הטמעתה.
  • בקרת הורים: הטכנולוגיה המאפשרת חסימה של ערוצים ותוכניות
  • HDMI-CEC: הטכנולוגיה המאפשרת שליטה מרחוק על מכשירים שונים באמצעות HDMI
  • מסגרת טיונר: מסגרת לקלט טלוויזיה מובנה
  • MediaCas: מסגרת לגישה מותנית
  • מנהל משאבי טיונר: שירות לניהול משאב החומרה עבור קלט טלוויזיה, MediaCas וכניסת טיונר מובנית

רכיבים אלה יוסרו בהרחבה בהמשך. עיין בתרשים הבא לתצוגה מפורטת של ארכיטקטורת מסגרת הקלט של Android TV.

סקירה כללית של ארכיטקטורת Android TIF
איור 1. ארכיטקטורת TIF (Android Input Framework Framework)

זְרִימָה

כך מפעילים את האדריכלות:

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

אישורים

  • רק כניסות הטלוויזיה של signatureOrSystem OrSystem ואפליקציית הטלוויזיה יש גישה מלאה למסד הנתונים של ספקי הטלוויזיה והן מסוגלות לקבל KeyEvents.
  • רק כניסות טלוויזיה למערכת יכולות לגשת ל- HAL קלט הטלוויזיה דרך שירות מנהל קלט הטלוויזיה. ניתן לגשת לכניסות טלוויזיה אחד לאחד באמצעות הפעלות של קלט טלוויזיה.
  • לכניסות טלוויזיה של צד שלישי יש גישה נעילת חבילה למסד הנתונים של ספקי הטלוויזיה ויכולות לקרוא / לכתוב רק לשורות חבילה תואמות.
  • כניסות טלוויזיה של צד שלישי יכולות להציג תוכן משלהן או תוכן משקעי הטלוויזיה המעבר של יצרן המכשיר, כמו HDMI1. הם לא יכולים להציג תוכן מכניסות טלוויזיה שאינן עוברות, כמו טיונר מובנה או IPTV.
  • הרשאת TV_INPUT_HARDWARE לאפליקציית קלט טלוויזיה לחומרה, מסמנת לשירות מנהל קלט הטלוויזיה להודיע ​​לשירות קלט הטלוויזיה בעת האתחול להתקשר לשירות מנהל קלט הטלוויזיה ולהוסיף את כניסות הטלוויזיה שלו. הרשאה זו מאפשרת לאפליקציית קלט טלוויזיה לחומרה לתמוך בכניסות טלוויזיה מרובות לכל שירות קלט טלוויזיה, כמו גם אפשרות להוסיף ולהסיר באופן דינמי את כניסות הטלוויזיה הנתמכות שלה.

ספק טלוויזיה

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

ספק הטלוויזיה ממפה "ז'אנר שידור" ל"ז'אנר קנוני "באופן פנימי. כניסות טלוויזיה אחראיות לאכלוס "ז'אנר שידור" בערך בתקן השידור הבסיסי, ושדה "ז'אנר קנוני" יאוכלס אוטומטית בז'אנר המשויך הנכון מ- android.provider.TvContract.Genres . לדוגמא, עם תקן שידור ATSC A / 65 ותכנית עם ז'אנר 0x25 (כלומר "ספורט"), קלט הטלוויזיה יאכלס את "ז'אנר השידור" במחרוזת "ספורט" וספק הטלוויזיה יאכלס את שדה "הז'אנר הקנוני" עם הערך הממופה android.provider.TvContract.Genres.SPORTS .

ראה בתרשים למטה תצוגה מפורטת של ספק הטלוויזיה.

ספק אנדרואיד TV
איור 2. ספק אנדרואיד TV

רק אפליקציות במחיצת המערכת המיוחדת יכולות לקרוא את כל מאגר ספקי הטלוויזיה.

כניסות טלוויזיה Passthrough אינן מאחסנות ערוצים ותוכניות.

בנוסף לשדות הסטנדרטיים של ערוצים ותוכניות, מאגר ספקי הטלוויזיה מציע גם שדה מסוג BLOB, COLUMN_INTERNAL_PROVIDER_DATA , בכל טבלה שבה תשומות הטלוויזיה עשויות להשתמש כדי לאחסן נתונים שרירותיים. נתוני BLOB יכולים לכלול מידע מותאם אישית, כגון תדירות המקלט המשויך, והם עשויים להינתן במאגר פרוטוקול או בצורה אחרת. שדה שניתן לחפש זמין בכדי להפוך ערוצים מסוימים ללא זמינים בחיפוש (כגון עמידה בדרישות ספציפיות למדינה להגנה על תוכן).

דוגמאות של שדות מסד נתונים

ספק הטלוויזיה תומך בנתונים מובנים בטבלאות הערוץ ( android.provider.TvContract.Channels ) android.provider.TvContract.Programs ( android.provider.TvContract.Programs ). טבלאות אלה מאוכלסות ונגישות אליהן כניסות טלוויזיה ואפליקציות מערכת כמו אפליקציית הטלוויזיה. טבלאות אלה כוללות ארבעה סוגים של שדות:

  • תצוגה: שדות תצוגה מכילים מידע שאפליקציות עשויות לרצות להראות לעיני המשתמש, כמו שם הערוץ ( COLUMN_DISPLAY_NAME ) או מספר ( COLUMN_DISPLAY_NUMBER ), או כותרת התוכנית הנצפית.
  • מטא נתונים: ישנם שלושה שדות לזיהוי תוכן, על פי סטנדרטים רלוונטיים, כמו מזהה זרם התחבורה של ערוץ ( COLUMN_TRANSPORT_STREAM_ID ), מזהה רשת מקורי ( COLUMN_ORIGINAL_NETWORK_ID ) ומזהה שירות ( COLUMN_SERVICE_ID ).
  • נתונים פנימיים : שדות המיועדים לשימוש מותאם אישית בכניסות טלוויזיה.
    שדות מסוימים, כמו COLUMN_INTERNAL_PROVIDER_DATA , הם שדות BLOB הניתנים להתאמה אישית שבהם קלט טלוויזיה יכול לאחסן מטא נתונים שרירותיים לגבי הערוץ או התוכנית שלהם.
  • דגל: שדות דגל מייצגים אם יש להגביל ערוץ בחיפוש, עיון או צפייה. ניתן להגדיר זאת רק ברמת הערוץ. כל התוכניות דוחות את ההגדרה בערוץ.
    • COLUMN_SEARCHABLE : הגבלת חיפוש מערוצים מסוימים עשויה להיות דרישה באזורים מסוימים. COLUMN_SEARCHABLE = 0 פירושו שהערוץ לא צריך להיחשף בתוצאות החיפוש.
    • COLUMN_BROWSABLE : גלוי ליישומי מערכת בלבד. הגבלת ערוץ מגלישה על ידי יישומים. COLUMN_BROWSABLE = 0 פירושו שהערוץ לא צריך להיכלל ברשימת הערוצים.
    • COLUMN_LOCKED : גלוי ליישומי מערכת בלבד. הגבלת הצפייה בערוץ על ידי חשבונות לא חוקיים מבלי להזין קוד PIN. COLUMN_LOCKED = 1 פירושו שיש להגן על הערוץ באמצעות בקרת הורים.

לרשימה ממצה יותר של השדות, ראו android/frameworks/base/media/java/android/media/tv/TvContract.java

הרשאות ובקרת גישה

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

  • בכל שורה יש את PACKAGE_NAME , החבילה (האפליקציה) שבבעלות אותה שורה, מסומנת בשאילתה, הוספה, עדכון דרך TvProvider.java. קלט לטלוויזיה רשאי לגשת רק למידע שכתבה והוא מוגדר מהמידע שמספק כניסות טלוויזיה אחרות.
  • קרא, כתוב הרשאות באמצעות AndroidManifest.xml (דורש הסכמת משתמש) כדי לקבוע ערוצים זמינים.
  • רק אפליקציות signatureOrSystem יכולות לרכוש הרשאת ACCESS_ALL_EPG_DATA לגשת למסד הנתונים כולו.

מנהל קלט הטלוויזיה

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

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

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

אפליקציה עשויה ליצור ולרשום TvInputCallback באמצעות ה- android.media.tv.TvInputManager שתיקרא בחזרה בשינוי המצב של קלט הטלוויזיה או בתוספת או הסרה של קלט טלוויזיה. לדוגמה, אפליקציית טלוויזיה יכולה להגיב כאשר ניתוק הטלוויזיה מנותק על ידי הצגתה כמנותקת ומניעת בחירתה.

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

כניסות טלוויזיה

כניסות טלוויזיה הן אפליקציות אנדרואיד במובן שיש להן AndroidManifest.xml והן מותקנות (באמצעות Play, מותקן מראש או נטען בצד). Android TV תומך באפליקציות מערכת מותקנות מראש, באפליקציות עליהן חתום יצרן המכשירים ובכניסות טלוויזיה של צד שלישי.

כמה כניסות, כמו כניסת HDMI או כניסת טיונר מובנית, יכולות לספק רק על ידי היצרן כשהן מדברות ישירות עם החומרה הבסיסית. אחרים, כגון IPTV, העברת מקום ו- STB חיצוני, יכולים להיות מסופקים על ידי צדדים שלישיים כ- APK בחנות Google Play. לאחר ההורדה והתקנה, ניתן לבחור את הקלט החדש בתוך אפליקציית הטלוויזיה.

דוגמת קלט מעבר

קלט מערכת אנדרואיד TV
איור 3. קלט מערכת Android TV

בדוגמה זו, קלט הטלוויזיה שמספק יצרן המכשיר מהימן ויש לו גישה מלאה לספק הטלוויזיה. כקלט טלוויזיה מעבר, הוא אינו רושם ערוצים או תוכניות אצל ספק הטלוויזיה. כדי להשיג את ה- URI המשמש להפניה לקלט מעבר, השתמש בכלי השירות android.media.tv.TvContract buildChannelUriForPassthroughInput(String inputId) . אפליקציית הטלוויזיה מתקשרת עם מנהל קלט הטלוויזיה כדי להגיע לקלט הטלוויזיה HDMI.

דוגמה מקלט מובנה

קלט טיונר מובנה ל- Android TV
איור 4. קלט טיונר מובנה ל- Android TV

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

דוגמת קלט של צד שלישי

קלט צד שלישי של Android TV
איור 5. קלט צד שלישי של Android TV

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

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

דוגמה לתמונה בתמונה (PIP)

אנדרואיד TV KeyEvents
איור 6. מפתח TV של Android TV

התרשים לעיל מראה כיצד כפתורים בשלט רחוק מועברים לקלט טלוויזיה ספציפי לתצוגת תמונה בתמונה (PIP). לחיצות כפתור אלו מתפרשות על ידי מנהל ההתקן של החומרה המסופק על ידי יצרן המכשיר, והמיר את סרקודיות החומרה לקודי אנדרואיד ומעבירים אותם לצינור הקלט האנדרואיד הרגיל InputReader ו- InputDispatcher מתפקדים כ- KeyEvents . אלה בתורם מעוררים אירועים באפליקציית הטלוויזיה אם היא נמצאת במוקד.

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

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

דוגמת קלט MHEG-5

התרשים הבא מראה תצוגה מפורטת יותר של האופן בו מנותבים KeyEvents דרך Android TIF.

דוגמה לכפתור אדום של Android TV
איור 7. דוגמה לכפתור אדום של Android TV

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

עיין בסעיף אפליקציית שידור כדי ללמוד כיצד אפליקציות שידור מתקשרות עם אפליקציית הטלוויזיה.

בדוגמה זו:

  1. אפליקציית הטלוויזיה נמצאת בפוקוס ומקבלת את כל המקשים.
  2. KeyEvents (למשל הכפתור האדום) מועבר InputEvents. הטלוויזיה הפעיל כ- InputEvents.
  3. קלט הטלוויזיה של המערכת משתלב עם מחסנית MHEG-5 ויש לו הרשאת מערכת RECEIVE_INPUT_EVENT .
  4. בקבלת קוד מפתח להפעלה (למשל כפתור אדום), קלט הטלוויזיה מפעיל את אפליקציית השידור.
  5. קלט הטלוויזיה צורך את KeyEvents כ- InputEvents ואפליקציית השידור היא המוקד ומטפלת ב- InputEvents עד שנדחתה.

הערה : כניסות טלוויזיה של צד שלישי לעולם אינן מקבלות מקשים.

קלט טלוויזיה HAL

קלט הטלוויזיה HAL מסייע בפיתוח כניסות טלוויזיה לגישה לחומרה ספציפית לטלוויזיה. כמו בשאר אנדרואיד HALs, קלט הטלוויזיה HAL ( tv_input ) זמין בעץ המקור של AOSP והספק מפתח את יישומו.

אפליקציית טלוויזיה

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

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

לכל הפחות, אפליקציית הטלוויזיה של המערכת צריכה לטפל במשימות הבאות:

התקנה ותצורה

  • זיהוי אוטומטי של כניסות טלוויזיה
  • תן לכניסות הטלוויזיה ליזום את הגדרת הערוץ
  • שלוט בהגדרות ההורים
  • ערוך ערוצים

צופה

  • גישה וניווט בכל ערוצי הטלוויזיה
  • גישה לשורת המידע של תכניות הטלוויזיה
  • הצגת נתוני מדריך תכנות אלקטרוני (EPG)
  • תומך במספר רצועות שמע וכתוביות
  • ספק אתגר PIN בקרת הורים
  • אפשר כיסוי ממשק משתמש של קלט טלוויזיה לתקן טלוויזיה (HbbTV וכו ')
  • אכלס תוצאות חיפוש של ערוצי טלוויזיה ותוכניות
  • הצג כרטיסי קישור לאפליקציה
  • תמיכה בממשקי API של העברת זמן
  • טיפול בפונקציונליות DVR ותמיכה בממשקי API להקלטת טלוויזיה

ערכת תכונות זו תגדל בהתאם לגירסאות אנדרואיד חדשות בהן מורחבים ממשקי ה- API של TIF. CTS Verifier מספק את כיסוי בדיקת התאימות.

תמיכה בכניסות טלוויזיה של צד שלישי

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

על אפליקציית הטלוויזיה של המערכת לעלות על כניסות צד שלישי לצד שירות הטלוויזיה החיה המוגדר כברירת מחדל. ההבטחה של ממשקי ה- API למפתחים היא שמשתמשים יוכלו למצוא ערוצים (לאחר התקנתם) במסגרת חוויית הטלוויזיה הרגילה שלהם.

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

החלקים הבאים מראים כיצד יישום הטלוויזיה החיה ממלא את דרישות ה- CDD.

הגדרת ערוץ חדשה

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

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

אפליקציית הטלוויזיה החיה הפניה מספקת את תפריט מקורות הערוץ לגישה לתשומות.

לך להגדרות
איור 8. עבור אל הגדרות .

עבור למקור הערוץ בהגדרות
איור 9. עבור למקורות הערוץ בהגדרות.

בחר את המקור שלך מהרשימה.
איור 10. בחר את המקור שלך מהרשימה.

הוסף ערוצים מהמקור שלך
איור 11. הוסף ערוצים מהמקור שלך.

בנוסף כרטיס התראה מוצג בראש תפריט אפליקציית הטלוויזיה לאחר התקנת TvInput חדש, כדי להעביר את המשתמש ישירות אל ההתקנה:

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

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

ראה הגדר את שירות קלט הטלוויזיה שלך לגבי ציפיות המפתחים בתחום זה.

התאם אישית את רשימת הערוצים

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

פתח את רשימת הערוצים בהגדרות.
איור 13. פתח את רשימת הערוצים בהגדרות .

התאם אישית את רשימת הערוצים שלך.
איור 14. התאם אישית את רשימת הערוצים שלך.

EPG

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

יש להציג ערוצים מכניסי צד שלישי כחלק מחוויית הטלוויזיה החיה הסטנדרטית EPG של המכשיר. ניתן להשתמש בהפרדה ויזואלית או בקטגוריות נפרדות עבור ערוצי צד שלישי (עיין בסעיף אפליקציית הטלוויזיה ב- Android CDD) - המפתח הוא שמשתמשים יכולים למצוא את הערוצים שהתקינו.

על היצרנים ליישם את אפליקציית הטלוויזיה כדי לכלול תוצאות חיפוש לבקשות חיפוש גלובליות על מנת להבטיח את חווית המשתמש הטובה ביותר. טלוויזיה בשידור חי מספקת יישום (ראה com.android.tv.search.TvProviderSearch ) המספק תוצאות מכניסות צד שלישי (נדרש לתאימות פלטפורמה) וכן מכניסות מובנות.

העברת זמן

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

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

פקדי הפעלה
איור 15. פקדי השמעה

DVR

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

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

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

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

עיין בתרשים הבא לקבלת תצוגה ליישום DVR אפשרי ב- Android TV.

הקלטת וידאו דיגיטלית באנדרואיד TV
איור 16. הקלטת וידאו דיגיטלית באנדרואיד TV

  1. שירות קלט הטלוויזיה אומר לאפליקציית הטלוויזיה כמה מקלטים זמינים כדי שאפליקציית הטלוויזיה תוכל להתמודד עם סכסוכי משאבים אפשריים.
  2. אפליקציית הטלוויזיה מקבלת בקשה ביוזמת המשתמש להקליט תוכנית טלוויזיה.
  3. אפליקציית הטלוויזיה שומרת את לוח ההקלטות במאגר המידע הפנימי שלה.
  4. כאשר הגיע הזמן להקליט, אפליקציית הטלוויזיה מעבירה בקשה לכוון לערוץ המשויך להקלטה.
  5. שירות קלט הטלוויזיה מקבל בקשה זו, מגיב בשאלה האם ישנם משאבים מתאימים או לא, ומכוון לערוץ.
  6. ואז אפליקציית הטלוויזיה מעבירה בקשה להתחיל להקליט למנהל קלט הטלוויזיה.
  7. שירות קלט הטלוויזיה מקבל בקשה זו ומתחיל להקליט.
  8. שירות קלט הטלוויזיה מאחסן את נתוני הווידאו בפועל באחסון שלו, שיכולים להיות אחסון חיצוני או אחסון בענן.
  9. כשמגיע הזמן לסיים את ההקלטה, אפליקציית הטלוויזיה מעבירה את בקשת ההקלטה למנהל קלט הטלוויזיה.
  10. לאחר ששירות קלט הטלוויזיה מקבל את הבקשה, הוא עוצר את ההקלטה ומוסיף את המטא נתונים המשויכים לספק הטלוויזיה, כך שאפליקציית הטלוויזיה תוכל להציג את ההקלטה למשתמשים כשתתבקש.

למידע נוסף אודות יישום תכונות הקלטה בשירות קלט הטלוויזיה שלך, עיין במאמר הקלטת טלוויזיה זה.

משאבים שימושיים

  • ממשקי ה- API של Android CDD ומפתחים מתועדים הם הפניות המובהקות.
  • CTS Verifier מפעיל את ממשקי ה- API כחלק מתוכנית בדיקות התאימות. הפעלה זו מול טלוויזיה חיה עשויה להיות דרך שימושית לראות את ה- EPG, החיפוש, בקרת הורים ודרישות אחרות בהקשר של קלטי צד שלישי.
  • ראה הגדר את שירות קלט הטלוויזיה שלך לגבי ציפיות המפתחים בתחום זה.

בקרת הורים

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

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

בקרת הורים היא חובה, והיא מכוסה על ידי מאמת CTS.

מספר מדינות הגדירו מערכות דירוג בהן תשומות הטלוויזיה יכולות להשתמש באמצעות ממשק ה- API של TVContentRating . בנוסף, כניסות טלוויזיה יכולות לרשום מערכות דירוג מותאמות אישית משלהם כפי שהוכח במבחן ה- CTS Verifier, שמציג דירוג 'מזויף'. במדינות בהן קיימת מערכת דירוג סטנדרטית, יצרני מכשירים מוזמנים לשלב את בקרת ההורים TV Input Framework עם כל מנגנון אחר שהם עשויים לכלול.

ספק טלוויזיה

לכל שורת ערוצים יש שדה COLUMN_LOCKED המשמש לנעילת צפייה בערוצים ספציפיים מבלי להזין קוד PIN. שדה התוכנית COLUMN_CONTENT_RATING מיועד לתצוגה ואינו משמש לאכיפת בקרת הורים.

מנהל קלט הטלוויזיה

מנהל קלט הטלוויזיה מאחסן כל TvContentRating חסום ומגיב ל- isRatingBlocked() כדי לייעץ אם יש לחסום תוכן עם הדירוג הנתון.

קלט טלוויזיה

קלט הטלוויזיה בודק אם יש לחסום את התוכן הנוכחי על ידי isRatingBlocked() במנהל קלט הטלוויזיה כאשר הדירוג של התוכן המוצג השתנה (בשינוי תוכנית או ערוץ), או שהגדרות בקרת ההורים השתנו (ב- ACTION_BLOCKED_RATINGS_CHANGED וב ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED ) . אם יש לחסום את התוכן, קלט הטלוויזיה משבית את האודיו והווידאו ומודיע לאפליקציית הטלוויזיה כי התוכן הנוכחי חסום על ידי קריאה ל- notifyContentBlocked(TvContentRating) . אם אין לחסום את התוכן, קלט הטלוויזיה מאפשר אודיו ווידאו ומודיע לאפליקציית הטלוויזיה כי התוכן הנוכחי מותר על ידי קריאה ל- notifyContentAllowed() .

אפליקציית טלוויזיה

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

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

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

אפליקציית הטלוויזיה צריכה להכריז על ההרשאה android.permission.MODIFY_PARENTAL_CONTROLS מנת לשנות את הגדרות בקרת ההורים.

יצרני מכשירים מוזמנים:

  • הפעילו את מבחן בקרת ההורים CTS Verifier כנגד יישום הטלוויזיה החי להפניה לצורך הדגמה של דרישות התאימות.
  • שימוש באפליקציה טלוויזיה בשידור חי כהפניה עבור App טלוויזיה משלהם: בפרט לראות את ContentRatingsManager ו RatingSystemsFragment מקור, וכיצד הם מתמודדים עם דירוגים המנהג.

HDMI-CEC

HDMI-CEC מאפשר למכשיר אחד לשלוט במכשיר אחר, ובכך מאפשר לשלט יחיד לשלוט במכשירים מרובים בקולנוע ביתי. הוא משמש על ידי Android TV כדי להאיץ את ההתקנה ולאפשר שליטה רחוקה בכניסות טלוויזיה שונות באמצעות אפליקציית הטלוויזיה המרכזית. למשל, הוא עשוי להחליף כניסות, להפעיל או להפעיל התקנים ועוד.

אנדרואיד TIF מיישם את HDMI-CEC כשירות בקרת ה- HDMI כך שיצרני מכשירים צריכים רק לפתח מנהלי התקנים ברמה נמוכה אשר מתקשרים עם HAL אנדרואיד TV קל משקל, ומדלגים על היגיון עסקי מורכב יותר. במתן יישום סטנדרטי, Android מבקשת למתן בעיות תאימות על ידי צמצום יישומים מקוטעים ותמיכה בתכונות סלקטיביות. שירות בקרת ה- HDMI משתמש בשירותי Android הקיימים, כולל קלט וכוח.

משמעות הדבר היא כי יש לעצב מחדש את יישומי ה- HDMI-CEC הקיימים כדי לשתף פעולה עם Android TIF. אנו ממליצים לפלטפורמת החומרה להכיל מיקרו-מעבד לקבלת הפעלה של CEC ופקודות אחרות.

שילוב CEC באנדרואיד TV
איור 17. שילוב CEC באנדרואיד TV

  1. אוטובוס ה- CEC מקבל פקודה מהמקור הפעיל כעת לעבור למקור אחר.
  2. הנהג מעביר את הפקודה ל- HDMI-CEC HAL.
  3. ה- HAL מודיע לכל ActiveSourceChangeListeners .
  4. שירות בקרת ה- HDMI מקבל הודעה על שינוי המקור באמצעות ActiveSourceChangeListener .
  5. שירות מנהל קלט הטלוויזיה מייצר כוונה לאפליקציית הטלוויזיה להחליף את המקור.
  6. לאחר מכן יישום הטלוויזיה יוצר מושב של מנהל קלט הטלוויזיה עבור קלט הטלוויזיה setMain באותה הפעלה.
  7. מושב מנהל קלט הטלוויזיה מעביר מידע זה לקלט הטלוויזיה HDMI.
  8. כניסת הטלוויזיה HDMI מבקשת להגדיר משטח רוחבי.
  9. שירות מנהל קלט הטלוויזיה מייצר פקודת בקרת ניתוב מתאימה בחזרה לשירות בקרת ה- HDMI כאשר השטח מוגדר.

הנחיות לשילוב טלוויזיה

אפליקציית שידור

מכיוון שלכל מדינה יש דרישות ספציפיות לשידור (MHEG, טלטקסט, HbbTV ועוד), היצרנים צפויים לספק פתרונות משלהם לאפליקציית השידור, למשל:

  • MHEG: מחסנית מקורית
  • טלטקסט: מחסנית מקורית
  • HbbTV: פתרון HbbTV מתוכנת Vewd

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

כך מתקיימים אפליקציית השידור ואפליקציית הטלוויזיה:

  1. אפליקציית הטלוויזיה נמצאת בפוקוס ומקבלת את כל המקשים.
  2. אפליקציית הטלוויזיה מעבירה מקשים (למשל כפתור אדום) למכשיר קלט הטלוויזיה.
  3. התקן קלט הטלוויזיה משתלב באופן פנימי עם מחסנית טלוויזיה מדור קודם.
  4. בקבלת קוד מפתח להפעלה (למשל כפתור אדום), מכשיר קלט הטלוויזיה מפעיל אפליקציות שידור.
  5. אפליקציית שידור מתמקדת באפליקציית הטלוויזיה ומטפלת בפעולות המשתמש.

לחיפוש / המלצה קולית, אפליקציית השידור עשויה לתמוך בחיפוש בתוך האפליקציה לחיפוש קולי.