
מסגרת הקלט של Android TV (TIF) מפשטת את האספקה של תוכן חי ל-Android TV. ה-Android TIF מספק API סטנדרטי ליצרנים ליצירת מודולי קלט לשליטה ב-Android TV, ומאפשר חיפוש טלוויזיה והמלצות בשידור חי באמצעות מטא נתונים שפורסמו על ידי קלט הטלוויזיה.
המסגרת אינה שואפת ליישם תקני טלוויזיה או דרישות אזוריות, אך כן מקלה על יצרני מכשירים לעמוד בתקני שידור טלוויזיה דיגיטלית אזורית ללא יישום מחדש. התיעוד בסעיף זה עשוי להיות שימושי גם למפתחי אפליקציות של צד שלישי שרוצים ליצור כניסות טלוויזיה מותאמות אישית.
רכיבים
יישום Android TV Input Framework כולל מנהל קלט טלוויזיה. ה-TIF עובד עם אפליקציית הטלוויזיה, אפליקציית מערכת שלא ניתנת להחלפה באפליקציית צד שלישי, כדי לגשת לערוצי טיונר מובנים ו-IP. אפליקציית הטלוויזיה מתקשרת עם מודולי קלט טלוויזיה שסופקו על ידי יצרן המכשיר או גורמים אחרים דרך מנהל קלט הטלוויזיה.
מסגרת קלט הטלוויזיה מורכבת מ:
- ספק טלוויזיה (
com.android.providers.tv.TvProvider
): מסד נתונים של ערוצים, תוכניות והרשאות קשורות - אפליקציית טלוויזיה (
com.android.tv.TvActivity
): האפליקציה שמטפלת באינטראקציה של משתמשים - מנהל קלט טלוויזיה (
android.media.tv.TvInputManager
): מאפשר לכניסות הטלוויזיה לתקשר עם אפליקציית הטלוויזיה - קלט טלוויזיה: אפליקציה המייצגת מקלטים פיזיים או וירטואליים ויציאות קלט
- TV Input HAL (מודול
tv_input
): הגדרת חומרה המאפשרת לכניסות טלוויזיה של המערכת לגשת לחומרה ספציפית לטלוויזיה כאשר היא מיושמת - בקרת הורים: הטכנולוגיה המאפשרת חסימת ערוצים ותוכניות
- HDMI-CEC: הטכנולוגיה המאפשרת שליטה מרחוק במכשירים שונים באמצעות HDMI
- Tuner Framework: מסגרת לכניסת טלוויזיה מובנית
- MediaCas: מסגרת לגישה מותנית
- Tuner Resource Manager: שירות לניהול משאב החומרה עבור קלט טלוויזיה, MediaCas וקלט מובנה
רכיבים אלה מכוסים בפירוט להלן. עיין בתרשים הבא לתצוגה מפורטת של ארכיטקטורת מסגרת הקלט של Android TV.

זְרִימָה
כך מופעלת הארכיטקטורה:
- המשתמש רואה ומקיים אינטראקציה עם אפליקציית הטלוויזיה, אפליקציית מערכת שלא ניתנת להחלפה באפליקציית צד שלישי.
- אפליקציית הטלוויזיה מציגה את תוכן ה-AV מכניסת הטלוויזיה.
- אפליקציית הטלוויזיה אינה יכולה לדבר ישירות עם כניסות הטלוויזיה. מנהל קלט הטלוויזיה מזהה את מצב כניסות הטלוויזיה עבור אפליקציית הטלוויזיה. עיין במנהל קלט הטלוויזיה למטה לקבלת פרטים נוספים על מגבלות אלו.
הרשאות
- רק
signatureOrSystem
TV Inputs ואפליקציית TV הם בעלי גישה מלאה למסד הנתונים של ספק הטלוויזיה והם מסוגלים לקבל KeyEvents. - רק כניסות הטלוויזיה של המערכת יכולות לגשת ל-TV Input HAL דרך שירות TV Input Manager. ניתן לגשת לכניסות טלוויזיה אחד לאחד באמצעות הפעלות של מנהל קלט טלוויזיה.
- לכניסות טלוויזיה של צד שלישי יש גישה נעולה בחבילה למסד הנתונים של ספק הטלוויזיה ויכולות לקרוא/לכתוב רק לשורות חבילות תואמות.
- כניסות טלוויזיה של צד שלישי יכולות להציג תוכן משלהן או תוכן מכניסות טלוויזיה עוברות של יצרן מכשיר, כמו HDMI1. הם לא יכולים להציג תוכן מכניסות טלוויזיה שאינן עוברות, כמו מקלט מובנה או מקלט IPTV.
- הרשאת
TV_INPUT_HARDWARE
לאפליקציית קלט טלוויזיה בחומרה, מסמנת לשירות מנהל קלט הטלוויזיה להודיע לשירות קלט הטלוויזיה בעת האתחול להתקשר לשירות מנהל קלט הטלוויזיה ולהוסיף את כניסות הטלוויזיה שלו. הרשאה זו מאפשרת לאפליקציית חומרת קלט טלוויזיה לתמוך במספר כניסות טלוויזיה לכל שירות קלט טלוויזיה, כמו גם אפשרות להוסיף ולהסיר באופן דינמי את כניסות הטלוויזיה הנתמכות שלה.
ספק טלוויזיה
מסד הנתונים של ספק הטלוויזיה מאחסן את הערוצים והתוכניות מכניסות טלוויזיה. ספק הטלוויזיה גם מפרסם ומנהל את ההרשאות הקשורות כך שכניסות טלוויזיה יוכלו לראות רק את הרשומות שלהם. לדוגמה, קלט טלוויזיה ספציפי יכול לראות רק את הערוצים והתוכניות שהוא סיפק ואסור לו לגשת לערוצים ולתוכניות של כניסות טלוויזיה אחרות.
ספק הטלוויזיה ממפה "ז'אנר שידור" ל"ז'אנר קנוני" באופן פנימי. כניסות טלוויזיה אחראיות לאכלוס "ז'אנר שידור" בערך בתקן השידור הבסיסי, והשדה "ז'אנר קנוני" יאוכלס אוטומטית בז'אנר המשויך הנכון מ- android.provider.TvContract.Genres
. לדוגמה, עם תקן שידור ATSC A/65 ותוכנית עם ז'אנר 0x25 (כלומר "ספורט"), קלט הטלוויזיה יאכלס את "ז'אנר השידור" במחרוזת "ספורט" וספק הטלוויזיה יאכלס את השדה "ז'אנר קנוני" עם הערך המופה android.provider.TvContract.Genres.SPORTS
.
עיין בתרשים שלהלן לתצוגה מפורטת של ספק הטלוויזיה.

רק אפליקציות במחיצת המערכת הפריבילגית יכולות לקרוא את כל מסד הנתונים של ספק הטלוויזיה.
כניסות מעבר לטלוויזיה אינן מאחסנות ערוצים ותוכניות.
בנוסף לשדות הסטנדרטיים עבור ערוצים ותוכניות, מסד הנתונים של ספקי הטלוויזיה מציע גם שדה מסוג BLOB, COLUMN_INTERNAL_PROVIDER_DATA
, בכל טבלה שבה כניסות טלוויזיה עשויות להשתמש כדי לאחסן נתונים שרירותיים. נתוני BLOB אלה יכולים לכלול מידע מותאם אישית, כגון תדירות הטיונר המשויך, ועשויים להיות מסופקים במאגר פרוטוקול או בצורה אחרת. שדה ניתן לחיפוש זמין כדי להפוך ערוצים מסוימים ללא זמינים בחיפוש (כגון לעמוד בדרישות ספציפיות למדינה להגנה על תוכן).
דוגמאות לשדות מסד נתונים
ספק הטלוויזיה תומך בנתונים מובנים בטבלאות ערוצים ( android.provider.TvContract.Channels
) ותוכניות ( 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
, החבילה (אפליקציה) שבבעלותה שורה זו, מסומנת ב-Query, Insert, Update באמצעות TvProvider.java. קלט טלוויזיה רשאי לגשת רק למידע שכתב והוא מגודר מהמידע המסופק על ידי כניסות טלוויזיה אחרות. - קרא, כתוב הרשאות באמצעות AndroidManifest.xml (דורש הסכמת משתמש) כדי לקבוע ערוצים זמינים.
- רק אפליקציות
signatureOrSystem
יכולות לקבל הרשאתACCESS_ALL_EPG_DATA
לגשת למסד הנתונים כולו.
מנהל קלט טלוויזיה
מנהל קלט הטלוויזיה מספק ממשק API מערכת מרכזי למסגרת הקלט הכוללת של Android TV. זה בורר אינטראקציה בין אפליקציות וכניסות טלוויזיה ומספק פונקציונליות של בקרת הורים. יש ליצור הפעלות של מנהל קלט טלוויזיה אחד על אחד עם כניסות טלוויזיה. מנהל קלט הטלוויזיה מאפשר גישה לכניסות טלוויזיה מותקנות כך שאפליקציות עשויות:
- רשום את כניסות הטלוויזיה ובדוק את מצבן
- צור הפעלות ונהל את המאזינים
עבור הפעלות, קלט טלוויזיה עשוי להיות מכוון על ידי אפליקציית הטלוויזיה רק ל-URI שהיא הוסיפה למסד הנתונים של ספק הטלוויזיה, למעט כניסות טלוויזיה מעבר שניתן לכוונן באמצעות TvContract.buildChannelUriForPassthroughInput()
. ייתכן שגם עוצמת הקול של כניסת טלוויזיה מוגדרת. כניסות טלוויזיה שסופקו ונחתמו על ידי יצרן המכשיר (אפליקציות חתימה) או אפליקציות אחרות המותקנות במחיצת המערכת יקבלו גישה לכל מסד הנתונים של ספק הטלוויזיה. ניתן להשתמש בגישה זו לבניית אפליקציות לגלישה ולחיפוש בכל ערוצי הטלוויזיה והתוכניות הזמינים.
אפליקציה עשויה ליצור ולרשום TvInputCallback
עם android.media.tv.TvInputManager
כדי להיקרא בחזרה בשינוי המצב של קלט טלוויזיה או בהוספה או הסרה של קלט טלוויזיה. לדוגמה, אפליקציית טלוויזיה יכולה להגיב כאשר קלט טלוויזיה מנותק על ידי הצגתו כמנותק ומניעת בחירתו.
מנהל קלט הטלוויזיה מפשט תקשורת בין אפליקציית הטלוויזיה לכניסות הטלוויזיה. הממשק הסטנדרטי של TV Input Manager ו-TV Input מאפשר ליצרני מכשירים מרובים ליצור אפליקציות טלוויזיה משלהם תוך סיוע לכל כניסות הטלוויזיה של צד שלישי לעבוד בכל אפליקציות הטלוויזיה.
כניסות טלוויזיה
כניסות טלוויזיה הן אפליקציות אנדרואיד במובן זה שיש להן AndroidManifest.xml והן מותקנות (באמצעות Play, מותקנות מראש או נטענות בצד). Android TV תומך באפליקציות מערכת מותקנות מראש, אפליקציות חתומות על ידי יצרן המכשיר וכניסות טלוויזיה של צד שלישי.
כניסות מסוימות, כמו כניסת HDMI או כניסת טיונר מובנית, יכולות להיות מסופקות רק על ידי היצרן מכיוון שהן מדברות ישירות עם החומרה הבסיסית. אחרים, כגון IPTV, העברת מקום ו-STB חיצוני, יכולים להיות מסופקים על ידי צדדים שלישיים כ-APKs בחנות Google Play. לאחר ההורדה וההתקנה, ניתן לבחור את הקלט החדש באפליקציית הטלוויזיה.
דוגמה לקלט מעבר

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

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

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

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

הוא מתאר את הזרימה של אפליקציית כפתור אדום, הנפוצה באירופה המאפשרת למשתמשים לגשת לאפליקציות אינטראקטיביות בטלוויזיות שלהם. ניתן להעביר אפליקציה דרך זרם התחבורה הזה. כאשר הלחצן נלחץ, הוא מאפשר למשתמשים לקיים אינטראקציה עם אפליקציות השידור הללו. לדוגמה, תוכל להשתמש באפליקציות השידור הללו כדי לגשת לדפי אינטרנט קשורים או לתוצאות ספורט.
עיין בסעיף אפליקציית שידור כדי ללמוד כיצד יישומי שידור מקיימים אינטראקציה עם אפליקציית הטלוויזיה.
בדוגמה זו:
- אפליקציית הטלוויזיה נמצאת בפוקוס ומקבלת את כל המפתחות.
-
KeyEvents
(למשל הכפתור האדום) מועברים לכניסת הטלוויזיה הפעילה בתורInputEvents.
- כניסת הטלוויזיה של המערכת משתלבת עם ערימת MHEG-5 ויש לה הרשאת מערכת
RECEIVE_INPUT_EVENT
. - עם קבלת קוד מפתח הפעלה (למשל כפתור אדום), כניסת הטלוויזיה מפעילה את אפליקציית השידור.
- קלט הטלוויזיה צורך
KeyEvents
כ-InputEvents
ואפליקציית השידור היא המוקד ומטפלתInputEvents
עד להדחה.
הערה : כניסות טלוויזיה של צד שלישי לעולם אינן מקבלות מפתחות.
כניסת טלוויזיה HAL
ה-TV Input HAL מסייע בפיתוח כניסות טלוויזיה לגישה לחומרה ספציפית לטלוויזיה. כמו עם HALs אחרים של אנדרואיד, ה-TV Input HAL ( tv_input
) זמין בעץ המקור של AOSP והספק מפתח את היישום שלו.
הערה : החל מאנדרואיד 14, ממשק כניסת הטלוויזיה HAL מוגדר באמצעות AIDL .
אפליקציית טלוויזיה
אפליקציית מערכת הטלוויזיה מציגה למשתמש תוכן טלוויזיה חי. אפליקציית עזר לטלוויזיה (Live TV) מסופקת לצד פלטפורמת אנדרואיד, שניתן להשתמש בה כפי שהיא, מותאמת אישית, מורחבת או מוחלפת על ידי יצרני המכשירים. קוד המקור זמין ב-Android Open Source Project, ותוכלו להתחיל איתו במאמר אפליקציית Reference TV .
יצרני מכשירים עשויים להרחיב את יישומי הטלוויזיה שלהם כדי ליישם תכונות ספציפיות ליצרן מכשיר או למדינה, אולם זה אינו בהיקף של TIF או אפליקציית הטלוויזיה הייחוס.
לכל הפחות, אפליקציית הטלוויזיה של המערכת צריכה להתמודד עם המשימות הבאות:
הגדרה ותצורה
- זיהוי אוטומטי של כניסות טלוויזיה
- אפשר לכניסות טלוויזיה להתחיל את הגדרת הערוצים
- שליטה בהגדרות ההורים
- ערוך ערוצים
צפייה
- גישה וניווט בכל ערוצי הטלוויזיה
- גישה לסרגל המידע של תוכניות טלוויזיה
- הצגת נתוני מדריך תכנות אלקטרוני (EPG).
- תמיכה במספר רצועות שמע וכתוביות
- ספק אתגר PIN של בקרת הורים
- אפשר שכבת-על של ממשק משתמש לכניסת טלוויזיה עבור תקן טלוויזיה (HbbTV וכו')
- אכלס תוצאות חיפוש עבור ערוצי טלוויזיה ותוכניות
- הצג כרטיסי קישור לאפליקציה
- תמיכה בממשקי API לשינוי זמן
- לטפל בפונקציונליות DVR ולתמוך בממשקי API להקלטת טלוויזיה
מערך תכונות זה יגדל בהתאם לגרסאות אנדרואיד חדשות שבהן הפלטפורמה TIF APIs מורחבת. CTS Verifier מספק את כיסוי בדיקת התאימות.
תמיכה בכניסות טלוויזיה של צד שלישי
Android TV מספקת ממשקי API למפתחים עבור כניסות טלוויזיה של צד שלישי, ומאפשרת לאפליקציות מותקנות להעביר ערוצי תוכנה לחוויית הטלוויזיה החיה. כדי להבטיח הטמעה תואמת של מכשיר אנדרואיד, לאפליקציית מערכת הטלוויזיה ישנה אחריות מסוימת בנוגע להצגת כניסות וערוצים של צד שלישי למשתמש. אפליקציית ה-Reference Live TV מספקת יישום תואם; אם מחליפים את אפליקציית הטלוויזיה של המערכת, יצרני המכשירים חייבים להבטיח שהאפליקציות שלהם מספקות תאימות דומה, כדי לעמוד בציפיות המפתחים בכל מכשירי Android TV.
אפליקציית הטלוויזיה של המערכת חייבת להציג כניסות של צד שלישי לצד שירות ברירת המחדל של הטלוויזיה בשידור חי של המכשיר. ההבטחה של ממשקי ה-API למפתחים היא שמשתמשים יוכלו למצוא ערוצים (לאחר ההתקנה) בחוויית הטלוויזיה הסטנדרטית שלהם.
מותר הבדל חזותי בין ערוצים מובנים לערוצים של צד שלישי, כפי שמוגדר בסעיף אפליקציית הטלוויזיה של ה-CDD של Android.
הסעיפים הבאים מראים כיצד יישום Live TV ממלא את דרישות ה-CDD.
הגדרת ערוץ חדשה
הוספת כניסות/ערוצים חדשים של צד שלישי מתחילה בכך שהמשתמש מוצא ומתקין קלט טלוויזיה מחנות אפליקציות, כגון Google Play.
חלק מכניסות הטלוויזיה של צד שלישי מוסיפות אוטומטית ערוצים למסד הנתונים של TvProvider. עם זאת, רובם יספקו פעילות הגדרה כדי לאפשר למשתמש להגדיר את הערוצים שלו, לספק פרטי התחברות ופעולות אחרות. אפליקציית הטלוויזיה של המערכת צריכה להבטיח שהמשתמש יכול להפעיל את פעילות ההגדרה הזו, וזו הסיבה שה-CDD דורש כניסות של צד שלישי להיות מינימליות של פעולות ניווט הרחק מאפליקציית הטלוויזיה הראשית.
אפליקציית ה-Reference Live TV מספקת את תפריט מקורות הערוצים לגישה לכניסות.




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

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


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

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

- שירות קלט הטלוויזיה אומר לאפליקציית הטלוויזיה כמה מקלטים זמינים כך שאפליקציית הטלוויזיה תוכל להתמודד עם התנגשות משאבים אפשרית.
- אפליקציית הטלוויזיה מקבלת בקשה ביוזמת המשתמש להקלטת תוכנית טלוויזיה.
- אפליקציית הטלוויזיה מאחסנת את לוח הזמנים של ההקלטות במסד הנתונים הפנימי שלה.
- כשמגיע הזמן להקליט, אפליקציית הטלוויזיה מעבירה בקשה לכוונון לערוץ המשויך להקלטה.
- שירות קלט הטלוויזיה מקבל בקשה זו, מגיב אם יש משאבים מתאימים או אין, ומכוון לערוץ.
- לאחר מכן, אפליקציית הטלוויזיה מעבירה בקשה להתחיל להקליט למנהל קלט הטלוויזיה.
- שירות קלט הטלוויזיה מקבל בקשה זו ומתחיל להקליט.
- שירות קלט הטלוויזיה מאחסן את נתוני הווידאו בפועל באחסון שלו, שיכולים להיות אחסון חיצוני או אחסון ענן.
- כשמגיע הזמן לסיים את ההקלטה, אפליקציית הטלוויזיה מעבירה את בקשת הפסקת ההקלטה למנהל קלט הטלוויזיה.
- ברגע ששירות קלט הטלוויזיה מקבל את הבקשה, הוא עוצר את ההקלטה ומוסיף את המטא-נתונים המשויכים שלו לספק הטלוויזיה, כך שאפליקציית הטלוויזיה תוכל להציג את ההקלטה למשתמשים כאשר תתבקש.
למידע נוסף על הטמעת תכונות ההקלטה בשירות קלט הטלוויזיה שלך, עיין במאמר הקלטת טלוויזיה זה.
משאבים שימושיים
- ה- CDD של אנדרואיד וממשקי API למפתחים מתועדים הם ההפניות הסופיות.
- CTS Verifier מפעיל את ממשקי ה-API כחלק מתוכנית בדיקת התאימות. הפעלת זה מול Live TV עשויה להיות דרך שימושית לראות את ה-EPG, החיפוש, בקרת הורים ודרישות אחרות בהקשר של קלט של צד שלישי.
- ראה הגדרת שירות קלט הטלוויזיה שלך לציפיות המפתחים בתחום זה.
בקרת הורים
בקרת הורים מאפשרת למשתמש לחסום ערוצים ותוכניות לא רצויים, אך לעקוף את החסימה על ידי הזנת קוד PIN.
האחריות לפונקציונליות בקרת הורים מתחלקת בין אפליקציית הטלוויזיה, שירות מנהל קלט הטלוויזיה, ספק הטלוויזיה וכניסת הטלוויזיה.
בקרת הורים היא חובה, והיא מכוסה על ידי CTS Verifier.
מספר מדינות הגדירו מערכות דירוג שבהן כניסות טלוויזיה יכולות להשתמש באמצעות ה- API של TVContentRating . בנוסף, כניסות טלוויזיה יכולות לרשום מערכות דירוג מותאמות אישית משלהן כפי שהוכח על ידי מבחן CTS Verifier, שמציג דירוג 'מזויף'. עבור מדינות שבהן קיימת מערכת דירוג סטנדרטית, מומלץ ליצרני המכשירים לשלב את בקרת ההורים של מסגרת קלט הטלוויזיה עם כל מנגנון אחר שהם עשויים לכלול.
ספק טלוויזיה
לכל שורת ערוצים יש שדה COLUMN_LOCKED
המשמש לנעילת ערוצים ספציפיים לצפייה מבלי להזין קוד PIN. שדה התוכנית COLUMN_CONTENT_RATING
מיועד לתצוגה ואינו משמש לאכיפת בקרת הורים.
מנהל קלט טלוויזיה
מנהל קלט הטלוויזיה מאחסן כל TvContentRating
חסום ומגיב ל- isRatingBlocked()
כדי לייעץ אם יש לחסום תוכן עם הדירוג הנתון.
כניסת טלוויזיה
קלט הטלוויזיה בודק אם יש לחסום את התוכן הנוכחי על ידי קריאה isRatingBlocked()
במנהל קלט הטלוויזיה כאשר הדירוג של התוכן המוצג השתנה (בשינוי תוכנית או ערוץ), או הגדרות בקרת הורים השתנו (ב- ACTION_BLOCKED_RATINGS_CHANGED
וב- ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
) . אם יש לחסום את התוכן, קלט הטלוויזיה משבית את האודיו והווידאו ומודיע לאפליקציית הטלוויזיה שהתוכן הנוכחי נחסם על ידי קריאה ל- notifyContentBlocked(TvContentRating)
. אם אין לחסום את התוכן, קלט הטלוויזיה מאפשר אודיו ווידאו ומודיע לאפליקציית הטלוויזיה שהתוכן הנוכחי מותר על ידי קריאה ל- notifyContentAllowed()
.
אפליקציית טלוויזיה
כדי לכבד את ממשקי ה-API של בקרת הורים, ולפיכך ליצור פלטפורמה תואמת, אפליקציית הטלוויזיה של המערכת צריכה לספק דרך למשתמשים לנהל בקרת הורים, כולל עבור כל דירוגים מותאמים אישית שנרשמו על ידי אפליקציות ספציפיות.
אפליקציית הטלוויזיה מציגה ממשק משתמש של קוד PIN כאשר היא מקבלת הודעה על ידי קלט טלוויזיה שהתוכן הנוכחי חסום או כאשר המשתמש מנסה לצפות בערוץ חסום.
אפליקציית הטלוויזיה אינה מאחסנת ישירות את הגדרות בקרת ההורים. כאשר המשתמש משנה את הגדרות בקרת ההורים, כל TvContentRating
חסום מאוחסן על ידי מנהל קלט הטלוויזיה, וערוצים חסומים מאוחסנים על ידי ספק הטלוויזיה.
אפליקציית הטלוויזיה צריכה להצהיר על ההרשאה android.permission.MODIFY_PARENTAL_CONTROLS
כדי לשנות את הגדרות בקרת ההורים.
יצרני מכשירים מוזמנים:
- הפעל את מבחן בקרת הורים של CTS Verifier מול אפליקציית ה-Reference Live TV לצורך הדגמה של דרישות התאימות.
- השתמשו באפליקציית ה-Live TV כעזר לאפליקציית הטלוויזיה שלהם: בפרט ראו את המקור ContentRatingsManager ו- RatingSystemsFragment , וכיצד הם מטפלים בדירוגים מותאמים אישית.
HDMI-CEC
HDMI-CEC מאפשר למכשיר אחד לשלוט באחר, ובכך מאפשר לשלט בודד לשלוט במספר מכשירים בקולנוע ביתי. הוא משמש את Android TV כדי להאיץ את ההגדרה ולאפשר שליטה מרחוק על כניסות טלוויזיה שונות באמצעות אפליקציית הטלוויזיה המרכזית. לדוגמה, הוא עשוי להחליף כניסות, להפעיל או לכבות מכשירים ועוד.
ה-Android TIF מיישם את HDMI-CEC כשירות הבקרה של HDMI כך שיצרני מכשירים רק צריכים לפתח דרייברים ברמה נמוכה המתקשרים עם ה-Android TV HAL קל המשקל, ומדלגים על היגיון עסקי מורכב יותר. במתן יישום סטנדרטי, אנדרואיד שואפת לצמצם בעיות תאימות על ידי הפחתת יישומים מפוצלים ותמיכה בתכונות סלקטיביות. שירות בקרת HDMI משתמש בשירותי אנדרואיד הקיימים, כולל קלט ומתח.
המשמעות היא שיישומי HDMI-CEC קיימים יצטרכו להיות מעוצבים מחדש כדי לפעול יחד עם ה-Android TIF. אנו ממליצים שפלטפורמת החומרה תכיל מיקרו-מעבד כדי לקבל הפעלת CEC ופקודות אחרות.

- האפיק CEC מקבל פקודה מהמקור הפעיל כעת לעבור למקור אחר.
- הנהג מעביר את הפקודה ל-HDMI-CEC HAL.
- ה-HAL מודיע לכל
ActiveSourceChangeListeners
. - שירות בקרת HDMI מקבל הודעה על שינוי מקור באמצעות
ActiveSourceChangeListener
. - שירות TV Input Manager מייצר כוונה עבור אפליקציית הטלוויזיה להחליף את המקור.
- לאחר מכן, אפליקציית הטלוויזיה יוצרת הפעלה של מנהל קלט טלוויזיה עבור כניסת הטלוויזיה שאליו עוברת וקוראת ל-
setMain
באותו הפעלה. - הפעלת מנהל קלט הטלוויזיה מעבירה מידע זה לכניסת הטלוויזיה HDMI.
- כניסת טלוויזיה HDMI מבקשת להגדיר את משטח פס הצד.
- שירות ה-TV Input Manager יוצר פקודת בקרת ניתוב מתאימה בחזרה ל-HDMI Control Service כאשר המשטח מוגדר.
הנחיות לשילוב טלוויזיה
אפליקציית שידור
מכיוון שלכל מדינה יש דרישות ספציפיות לשידור (MHEG, טלטקסט, HbbTV ועוד), היצרנים צפויים לספק פתרונות משלהם עבור אפליקציית השידור, למשל:
- MHEG: מחסנית מקורית
- טלטקסט: מחסנית מקורית
- HbbTV: פתרון HbbTV מבית Vewd Software
במהדורת Android L, Android TV מצפה מיצרני המכשירים להשתמש במשלבי מערכות או בפתרונות אנדרואיד עבור ערימות טלוויזיה אזוריות, להעביר את פני השטח לערימות תוכנת טלוויזיה או להעביר את קוד המפתח הדרוש כדי ליצור אינטראקציה עם ערימות מדור קודם.
הנה האופן שבו אפליקציית השידור ואפליקציית הטלוויזיה פועלות באינטראקציה:
- אפליקציית הטלוויזיה נמצאת בפוקוס, ומקבלת את כל המפתחות.
- אפליקציית הטלוויזיה מעבירה מפתחות (כגון כפתור אדום) להתקן קלט הטלוויזיה.
- התקן קלט הטלוויזיה משתלב באופן פנימי עם ערימת טלוויזיה מדור קודם.
- עם קבלת קוד מפתח הפעלה (כגון לחצן אדום), התקן קלט הטלוויזיה מפעיל אפליקציות שידור.
- אפליקציית שידור מתמקדת באפליקציית הטלוויזיה ומטפלת בפעולות המשתמש.
לחיפוש/המלצה קולית, אפליקציית השידור עשויה לתמוך בחיפוש בתוך האפליקציה לחיפוש קולי.
,
מסגרת הקלט של Android TV (TIF) מפשטת את האספקה של תוכן חי ל-Android TV. ה-Android TIF מספק API סטנדרטי ליצרנים ליצירת מודולי קלט לשליטה ב-Android TV, ומאפשר חיפוש טלוויזיה והמלצות בשידור חי באמצעות מטא נתונים שפורסמו על ידי קלט הטלוויזיה.
המסגרת אינה שואפת ליישם תקני טלוויזיה או דרישות אזוריות, אך כן מקלה על יצרני מכשירים לעמוד בתקני שידור טלוויזיה דיגיטלית אזורית ללא יישום מחדש. התיעוד בסעיף זה עשוי להיות שימושי גם למפתחי אפליקציות של צד שלישי שרוצים ליצור כניסות טלוויזיה מותאמות אישית.
רכיבים
יישום Android TV Input Framework כולל מנהל קלט טלוויזיה. ה-TIF עובד עם אפליקציית הטלוויזיה, אפליקציית מערכת שלא ניתנת להחלפה באפליקציית צד שלישי, כדי לגשת לערוצי טיונר מובנים ו-IP. אפליקציית הטלוויזיה מתקשרת עם מודולי קלט טלוויזיה שסופקו על ידי יצרן המכשיר או גורמים אחרים דרך מנהל קלט הטלוויזיה.
מסגרת קלט הטלוויזיה מורכבת מ:
- ספק טלוויזיה (
com.android.providers.tv.TvProvider
): מסד נתונים של ערוצים, תוכניות והרשאות קשורות - אפליקציית טלוויזיה (
com.android.tv.TvActivity
): האפליקציה שמטפלת באינטראקציה של משתמשים - מנהל קלט טלוויזיה (
android.media.tv.TvInputManager
): מאפשר לכניסות הטלוויזיה לתקשר עם אפליקציית הטלוויזיה - קלט טלוויזיה: אפליקציה המייצגת מקלטים פיזיים או וירטואליים ויציאות קלט
- TV Input HAL (מודול
tv_input
): הגדרת חומרה המאפשרת לכניסות טלוויזיה של המערכת לגשת לחומרה ספציפית לטלוויזיה כאשר היא מיושמת - בקרת הורים: הטכנולוגיה המאפשרת חסימת ערוצים ותוכניות
- HDMI-CEC: הטכנולוגיה המאפשרת שליטה מרחוק במכשירים שונים באמצעות HDMI
- Tuner Framework: מסגרת לכניסת טלוויזיה מובנית
- MediaCas: מסגרת לגישה מותנית
- Tuner Resource Manager: שירות לניהול משאב החומרה עבור קלט טלוויזיה, MediaCas וקלט מובנה
רכיבים אלה מכוסים בפירוט להלן. עיין בתרשים הבא לתצוגה מפורטת של ארכיטקטורת מסגרת הקלט של Android TV.

זְרִימָה
כך מופעלת הארכיטקטורה:
- המשתמש רואה ומקיים אינטראקציה עם אפליקציית הטלוויזיה, אפליקציית מערכת שלא ניתנת להחלפה באפליקציית צד שלישי.
- אפליקציית הטלוויזיה מציגה את תוכן ה-AV מכניסת הטלוויזיה.
- אפליקציית הטלוויזיה אינה יכולה לדבר ישירות עם כניסות הטלוויזיה. מנהל קלט הטלוויזיה מזהה את מצב כניסות הטלוויזיה עבור אפליקציית הטלוויזיה. עיין במנהל קלט הטלוויזיה למטה לקבלת פרטים נוספים על מגבלות אלו.
הרשאות
- רק
signatureOrSystem
TV Inputs ואפליקציית TV הם בעלי גישה מלאה למסד הנתונים של ספק הטלוויזיה והם מסוגלים לקבל KeyEvents. - רק כניסות הטלוויזיה של המערכת יכולות לגשת ל-TV Input HAL דרך שירות TV Input Manager. ניתן לגשת לכניסות טלוויזיה אחד לאחד באמצעות הפעלות של מנהל קלט טלוויזיה.
- לכניסות טלוויזיה של צד שלישי יש גישה נעולה בחבילה למסד הנתונים של ספק הטלוויזיה ויכולות לקרוא/לכתוב רק לשורות חבילות תואמות.
- כניסות טלוויזיה של צד שלישי יכולות להציג תוכן משלהן או תוכן מכניסות טלוויזיה עוברות של יצרן מכשיר, כמו HDMI1. הם לא יכולים להציג תוכן מכניסות טלוויזיה שאינן עוברות, כמו מקלט מובנה או מקלט IPTV.
- הרשאת
TV_INPUT_HARDWARE
לאפליקציית קלט טלוויזיה בחומרה, מסמנת לשירות מנהל קלט הטלוויזיה להודיע לשירות קלט הטלוויזיה בעת האתחול להתקשר לשירות מנהל קלט הטלוויזיה ולהוסיף את כניסות הטלוויזיה שלו. הרשאה זו מאפשרת לאפליקציית חומרת קלט טלוויזיה לתמוך במספר כניסות טלוויזיה לכל שירות קלט טלוויזיה, כמו גם אפשרות להוסיף ולהסיר באופן דינמי את כניסות הטלוויזיה הנתמכות שלה.
ספק טלוויזיה
מסד הנתונים של ספקית הטלוויזיה מאחסן את הערוצים והתוכניות מכניסות טלוויזיה. ספקית הטלוויזיה מפרסמת ומנהלת את ההרשאות הנלוויות כך שתשומות טלוויזיה יוכלו לראות רק רשומות משלהם. לדוגמה, קלט טלוויזיה ספציפי יכול לראות רק את הערוצים והתוכנות שסיפקה ואסור עליה לגשת לערוצים ותוכניות של כניסות טלוויזיה אחרות.
ספק הטלוויזיה ממפה את "ז'אנר המשדר" ל"ז'אנר קנוני "באופן פנימי. תשומות טלוויזיה אחראיות לאכלוס "ז'אנר השידור" עם הערך בתקן השידור הבסיסי, ושדה "הז'אנר הקנוני" יאוכלס אוטומטית בז'אנר הנכון הנכון מ- android.provider.TvContract.Genres
. לדוגמה, עם שידור תקן ATSC A/65 ותוכנית עם ז'אנר 0x25 (כלומר "ספורט"), קלט הטלוויזיה יאכלס את "ז'אנר השידור" עם המחרוזת "ספורט" וספק הטלוויזיה יאכלס את התחום "הז'אנר הקנוני" עם הערך הממופה android.provider.TvContract.Genres.SPORTS
.
עיין בתרשים שלהלן לקבלת תצוגה מפורטת של ספק הטלוויזיה.

רק אפליקציות במחיצת המערכת המיוחסת יכולות לקרוא את כל בסיס הנתונים של ספקית הטלוויזיה.
כניסות טלוויזיה מעבר לא מאחסנות ערוצים ותוכניות.
בנוסף לשדות הסטנדרטיים לערוצים ותוכניות, מסד הנתונים של ספקית הטלוויזיה מציע גם שדה סוג Blob, COLUMN_INTERNAL_PROVIDER_DATA
, בכל טבלה שתשומות טלוויזיה עשויות להשתמש בו כדי לאחסן נתונים שרירותיים. נתוני BLOB יכולים לכלול מידע מותאם אישית, כגון תדירות המקלט המשויך, ויכולים להיות מסופקים במאגר פרוטוקול או בצורה אחרת. ניתן להשיג שדה שניתן לחפש כדי להפוך את הערוצים המסויים שאינם זמינים בחיפוש (כגון לעמוד בדרישות הספציפיות למדינה להגנת תוכן).
דוגמאות לשדה מסד נתונים
ספק הטלוויזיה תומך בנתונים מובנים בערוץ ( android.provider.TvContract.Channels
) ותוכנית ( 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 של מערכת מרכזית למסגרת קלט הטלוויזיה האנדרואיד הכוללת. זה בורר את האינטראקציה בין אפליקציות לתשומות טלוויזיה ומספק פונקציונליות לבקרת הורים. יש ליצור הפעלות של מנהל קלט טלוויזיה אחד לאחד עם כניסות טלוויזיה. מנהל קלט הטלוויזיה מאפשר גישה לכניסות טלוויזיה המותקנות כך שהאפליקציות עשויות:
- רשום כניסות טלוויזיה ובדוק את הסטטוס שלהן
- צור הפעלות וניהול מאזינים
למפגשים, קלט טלוויזיה עשוי להיות מכוון על ידי אפליקציית הטלוויזיה רק ל- URIS היא הוסיפה למסד הנתונים של ספקי הטלוויזיה, למעט כניסות טלוויזיה מעבר לשימוש באמצעות TvContract.buildChannelUriForPassthroughInput()
. כניסת טלוויזיה עשויה להיות גם ערכת עוצמת הקול שלה. כניסות טלוויזיה המסופקות ונחתמות על ידי יצרן ההתקנים (אפליקציות חתימה) או אפליקציות אחרות המותקנות במחיצת המערכת תהיה גישה למאגר כל ספק הטלוויזיה. ניתן להשתמש בגישה זו לבניית אפליקציות כדי לגלוש ולחפש בכל ערוצי הטלוויזיה והתוכניות הזמינים.
אפליקציה עשויה ליצור ולרשום TvInputCallback
עם android.media.tv.TvInputManager
שייקרא חזרה למצב של קלט טלוויזיה או בתוספת או הסרה של קלט טלוויזיה. לדוגמה, אפליקציית טלוויזיה יכולה להגיב כאשר קלט טלוויזיה מנותק על ידי הצגתו כנותקה ומונעת את בחירתו.
מנהל קלט הטלוויזיה מפשט תקשורת בין אפליקציית הטלוויזיה לתשומות טלוויזיה. הממשק הסטנדרטי של מנהל קלט טלוויזיה וקלט טלוויזיה מאפשר ליצרני מכשירים מרובים ליצור אפליקציות טלוויזיה משלהם תוך עזרה לכל כניסות הטלוויזיה של הצד השלישי לעבוד על כל אפליקציות הטלוויזיה.
תשומות טלוויזיה
כניסות טלוויזיה הן אפליקציות אנדרואיד במובן זה שיש להם AndroidManifest.xml ומותקנות (באמצעות משחק, התקנה מראש או נטענת צד). אנדרואיד טלוויזיה תומכת באפליקציות מערכת המותקנות מראש, אפליקציות שנחתמות על ידי יצרן המכשירים וכניסות טלוויזיה של צד שלישי.
כמה כניסות, כמו כניסת HDMI או כניסת המקלט המובנית, יכולות לספק רק על ידי היצרן כאשר הם מדברים ישירות עם החומרה הבסיסית. אחרים, כמו IPTV, הסטת מקום ו- STB חיצוני, יכולים להיות מספקים על ידי צדדים שלישיים כ- APKs בחנות Google Play. לאחר הורדתו והתקנה, ניתן לבחור את הקלט החדש בתוך אפליקציית הטלוויזיה.
דוגמת קלט מעבר

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

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

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

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

זה מתאר את זרימת אפליקציית הכפתור האדומה, הנפוצה באירופה לאפשר למשתמשים לגשת לאפליקציות אינטראקטיביות בטלוויזיות שלהם. ניתן למסור אפליקציה מעל זרם התחבורה הזה. כאשר לוחצים על הכפתור, הוא מאפשר למשתמשים לקיים אינטראקציה עם אפליקציות שידור אלה. לדוגמה, ייתכן שתשתמש באפליקציות שידור אלה כדי לגשת לדפי אינטרנט קשורים או לציוני ספורט.
עיין בקטע אפליקציית השידור כדי ללמוד כיצד אפליקציות שידור מתקשרות עם אפליקציית הטלוויזיה.
בדוגמה זו:
- אפליקציית הטלוויזיה נמצאת במוקד ומקבלת את כל המפתחות.
-
KeyEvents
(למשל הכפתור האדום) מועבר לכניסת הטלוויזיה הפעילה כ-InputEvents.
- כניסת הטלוויזיה המערכת משתלבת עם ערימת MHEG-5 ובעלת הרשאת מערכת
RECEIVE_INPUT_EVENT
. - עם קבלת קוד מקש הפעלה (למשל כפתור אדום), קלט הטלוויזיה מפעיל את אפליקציית השידור.
- קלט טלוויזיה צורך
KeyEvents
כ-InputEvents
ואפליקציית השידור היא המיקוד ומטפלInputEvents
עד לפטר.
הערה : כניסות טלוויזיה של צד שלישי לעולם אינן מקבלות מפתחות.
קלט טלוויזיה Hal
קלט הטלוויזיה HAL מסייע בפיתוח כניסות טלוויזיה כדי לגשת לחומרה ספציפית לטלוויזיה. בדומה ל- HALs אחרים של אנדרואיד, קלט הטלוויזיה HAL ( tv_input
) זמין בעץ המקור AOSP והספק מפתח את יישומו.
הערה : החל מ- Android 14, ממשק ה- HAL של קלט הטלוויזיה מוגדר באמצעות AIDL .
אפליקציית טלוויזיה
אפליקציית הטלוויזיה המערכת מציגה תוכן טלוויזיה חי למשתמש. אפליקציית טלוויזיה התייחסות (טלוויזיה בשידור חי) ניתנת לצד פלטפורמת אנדרואיד, בה ניתן להשתמש ב- AS-IS, בהתאמה אישית, מורחבת או מוחלפת על ידי יצרני המכשירים. קוד המקור זמין בפרויקט הקוד הפתוח של אנדרואיד, ותוכלו להתחיל איתו במאמר אפליקציית הטלוויזיה הפניה .
יצרני מכשירים רשאים להרחיב את אפליקציות הטלוויזיה שלהם כדי ליישם את יצרן המכשירים או תכונות ספציפיות למדינה, אולם זה לא נמצא בהיקף TIF או אפליקציית הטלוויזיה Reference.
לכל הפחות, אפליקציית הטלוויזיה המערכת צריכה להתמודד עם המשימות הבאות:
הגדרה ותצורה
- כניסות טלוויזיה אוטומטיות של טלוויזיה
- תן לכניסות טלוויזיה ליזום הגדרת ערוץ
- שליטה בהגדרות הורים
- ערוך ערוצים
צפייה
- גישה ונווט בכל ערוצי הטלוויזיה
- גישה לסרגל המידע לתוכנית טלוויזיה
- הצגת נתוני מדריך תכנות אלקטרוני (EPG)
- תומך במספר מסלולי שמע וכתוביות
- אספקת אתגר סיכות בקרת הורים
- אפשר שכבת מכשיר ממשק משתמש של קלט טלוויזיה לתקן טלוויזיה (HBBTV וכו ')
- אוכלוס תוצאות חיפוש עבור ערוצי טלוויזיה ותוכניות טלוויזיה
- הצגת כרטיסי קישור לאפליקציה
- תמיכה בממשקי API לשינוי זמנים
- טפל בפונקציונליות DVR ותמיכה בממשקי API של הקלטת טלוויזיה
מערך תכונות זה יגדל בקנה אחד עם גרסאות אנדרואיד חדשות בהן מורחבים ממשקי ה- API של הפלטפורמה TIF. VERIFIER CTS מספק את כיסוי מבחן התאימות.
תמיכה בכניסות טלוויזיה של צד שלישי
אנדרואיד טלוויזיה מספקת ממשקי API של מפתחים לתשומות טלוויזיה של צד שלישי, ומאפשרת לאפליקציות מותקנות להעביר ערוצי תוכנה לחוויית הטלוויזיה החיה. כדי להבטיח יישום מכשירי אנדרואיד תואם, לאפליקציית הטלוויזיה המערכת יש אחראיות מסוימות לגבי משטחים של כניסות טלוויזיה של צד שלישי וערוצי טלוויזיה למשתמש. אפליקציית הטלוויזיה Live Reference מספקת יישום תואם; אם מחליפים את אפליקציית הטלוויזיה של המערכת, על יצרני המכשירים להבטיח שהאפליקציות שלהם מספקות תאימות דומה, כדי לעמוד בציפיות המפתחים בכל מכשירי הטלוויזיה אנדרואיד.
על אפליקציית הטלוויזיה המערכתית על כניסות צד ג 'לצד שירות הטלוויזיה החי של המכשיר. ההבטחה של ממשקי ה- API של המפתחים היא שמשתמשים יוכלו למצוא ערוצים (לאחר התקנתם) במסגרת חווית הטלוויזיה הסטנדרטית שלהם.
הבחנה חזותית בין ערוצים מובנים לערוצי צד שלישי מותרת, כהגדרתה בקטע אפליקציית הטלוויזיה של אנדרואיד CDD.
החלקים הבאים מראים כיצד אפליקציית הטלוויזיה החיה ממלאת את דרישות ה- CDD.
הגדרת ערוץ חדשה
תוספת של כניסות/ערוצים של צד שלישי חדשים מתחילה במציאת המשתמש והתקנת קלט טלוויזיה מחנות יישומים, כגון Google Play.
כמה כניסות טלוויזיה של צד שלישי מוסיפות אוטומטית ערוצים למסד הנתונים של TVProvider. עם זאת, רובם יספקו פעילות הגדרה שתאפשר למשתמש להגדיר את הערוצים שלו, לספק פרטי כניסה ופעולות אחרות. אפליקציית הטלוויזיה המערכת צריכה להבטיח שהמשתמש יכול להפעיל פעילות הגדרה זו, וזו הסיבה שה- CDD דורש כניסות של צד שלישי להיות פעולות ניווט מינימליות הרחק מאפליקציית הטלוויזיה הראשית.
אפליקציית הטלוויזיה Live Reference מספקת את תפריט מקורות הערוץ לגישה לכניסות.




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

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


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

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

- שירות קלט הטלוויזיה מספר לאפליקציית הטלוויזיה כמה מקלטים זמינים כך שאפליקציית הטלוויזיה תוכל להתמודד עם קונפליקט משאבים אפשרי.
- אפליקציית הטלוויזיה מקבלת בקשה יזומה למשתמש להקליט תוכנית טלוויזיה.
- אפליקציית הטלוויזיה מאחסנת את לוח ההקלטות במסד הנתונים הפנימי שלה.
- כאשר הגיע הזמן להקליט, אפליקציית הטלוויזיה מעניקה בקשה להתכוונן לערוץ המשויך להקלטה.
- שירות קלט הטלוויזיה מקבל בקשה זו, מגיב אם יש משאבים מתאימים או לא, ומנגינות לערוץ.
- ואז אפליקציית הטלוויזיה מעניקה בקשה להתחיל להקליט למנהל קלט הטלוויזיה.
- שירות קלט הטלוויזיה מקבל בקשה זו ומתחיל להקליט.
- שירות קלט הטלוויזיה מאחסן את נתוני הווידיאו בפועל באחסון שלו, שיכולים להיות אחסון חיצוני או אחסון בענן.
- כאשר הגיע הזמן לסיים את ההקלטה, אפליקציית הטלוויזיה מעבירה את בקשת הקלטת העצירה למנהל קלט הטלוויזיה.
- ברגע ששירות קלט הטלוויזיה יקבל את הבקשה, הוא מפסיק את ההקלטה ומוסיף את המטא נתונים המשויכים אליו לספק הטלוויזיה כך שאפליקציית הטלוויזיה תוכל להציג את ההקלטה למשתמשים כאשר מתבקשים.
למידע נוסף על יישום תכונות הקלטה בשירות קלט הטלוויזיה שלך, עיין במאמר הקלטת טלוויזיה זה.
משאבים שימושיים
- ה- CDD של אנדרואיד וממשקי API של המפתחים המתועדים הם הפניות המוחלטות.
- אימות CTS מפעיל את ממשקי ה- API כחלק מתוכנית בדיקת התאימות. הפעלת זו נגד טלוויזיה בשידור חי עשויה להיות דרך שימושית לראות את ה- EPG, החיפוש, בקרת ההורים ודרישות אחרות בהקשר של תשומות צד ג '.
- ראה הגדר את שירות קלט הטלוויזיה שלך לציפיות המפתחים בתחום זה.
בקרת הורים
בקרת ההורים מאפשרת למשתמש לחסום ערוצים ותוכניות בלתי רצויות, אך לעקוף את החסימה על ידי הזנת קוד PIN.
האחריות לפונקציונליות לבקרת הורים משותפת בין אפליקציית הטלוויזיה, שירות מנהל קלט טלוויזיה, ספקית טלוויזיה וקלט טלוויזיה.
בקרת ההורים היא חובה ומכוסה על ידי CTS VERIFIER.
מספר מדינות הגדירו מערכות דירוג בהן כניסות טלוויזיה יכולות להשתמש באמצעות ה- API המרתק TV . בנוסף, תשומות טלוויזיה יכולות לרשום מערכות דירוג מותאמות אישית משלהם כפי שהודגם על ידי מבחן ה- Vevifier של CTS, המציג דירוג 'מזויף'. עבור מדינות בהן קיימת מערכת דירוג סטנדרטית, מעודדים יצרני מכשירים לשלב את בקרת ההורים של מסגרת קלט הטלוויזיה עם כל מנגנונים אחרים שהם עשויים לכלול.
ספק טלוויזיה
לכל שורת ערוץ יש שדה COLUMN_LOCKED
המשמש לנעילת ערוצים ספציפיים מהצפייה מבלי להזין קוד PIN. שדה התוכנית COLUMN_CONTENT_RATING
מיועד לתצוגה ואינו משמש לאכיפת בקרת הורים.
מנהל קלט טלוויזיה
מנהל קלט הטלוויזיה מאחסן כל צורך TvContentRating
חסום ומגיב ל- isRatingBlocked()
כדי לייעץ אם יש לחסום תוכן בדירוג הנתון.
קלט טלוויזיה
קלט הטלוויזיה בודק אם יש לחסום את התוכן הנוכחי על ידי התקשרות isRatingBlocked()
במנהל קלט הטלוויזיה כאשר הדירוג של התוכן המוצג השתנה (בתוכנית או בשינוי ערוץ), או שהגדרות בקרת ההורים השתנו ( ACTION_BLOCKED_RATINGS_CHANGED
ו- ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
) . אם יש לחסום את התוכן, קלט הטלוויזיה מבטל את האודיו והווידיאו ומודיע לאפליקציית הטלוויזיה כי התוכן הנוכחי נחסם על ידי קריאה ל- notifyContentBlocked(TvContentRating)
. אם אין לחסום את התוכן, קלט הטלוויזיה מאפשר שמע ווידאו ומודיע לאפליקציית הטלוויזיה התוכן הנוכחי מותר על ידי התקשרות למספר notifyContentAllowed()
.
אפליקציית טלוויזיה
כדי לכבד את ממשקי ה- API של בקרת ההורים, ולכן ליצור פלטפורמה תואמת, אפליקציית הטלוויזיה המערכת צריכה לספק דרך למשתמשים לנהל בקרת הורים, לרבות עבור כל דירוגים מותאמים אישית שנרשמו על ידי אפליקציות ספציפיות.
אפליקציית הטלוויזיה מציגה ממשק משתמש של קוד PIN כאשר היא מקבלת הודעה על ידי קלט טלוויזיה כי התוכן הנוכחי חסום או כאשר המשתמש מנסה להציג ערוץ חסום.
אפליקציית הטלוויזיה אינה מאחסנת ישירות את הגדרות בקרת ההורים. כאשר המשתמש משנה את הגדרות בקרת ההורים, כל TvContentRating
החסום מאוחסן על ידי מנהל קלט הטלוויזיה, וערוצים חסומים מאוחסנים על ידי ספק הטלוויזיה.
אפליקציית הטלוויזיה צריכה להכריז על ההרשאה android.permission.MODIFY_PARENTAL_CONTROLS
על מנת לשנות את הגדרות בקרת ההורים.
יצרני המכשירים מעודדים:
- הפעל את מבחן בקרות ההורים של אימות CTS VERIFIER כנגד אפליקציית הטלוויזיה Live Live להפגנה של דרישות התאימות.
- השתמש באפליקציית הטלוויזיה החיה כהפניה לאפליקציית הטלוויזיה שלהם: בפרט ראה ContentRatingSmanager ומקור מערכות דירוג , וכיצד הם מטפלים בדירוגים מותאמים אישית.
HDMI-CEC
HDMI-CEC מאפשר למכשיר אחד לשלוט אחר אחר, ובכך מאפשר לשלט יחיד לשלוט במכשירים מרובים בקולנוע ביתי. הוא משמש על ידי אנדרואיד טלוויזיה כדי להאיץ את הגדרת המהירות ולאפשר שליטה רחוקה על כניסות טלוויזיה שונות דרך אפליקציית הטלוויזיה המרכזית. לדוגמה, זה עשוי להחליף כניסות, מכשירי הפעלה או מטה ועוד.
ה- Android TIF מיישם את HDMI-CEC כשירות בקרת HDMI כך שיצרני המכשירים רק צריכים לפתח מנהלי התקנים ברמה נמוכה, אשר מקיימים אינטראקציה עם אנדרואיד טלוויזיה קל משקל, ומדלג על היגיון עסקי מורכב יותר. במתן יישום סטנדרטי, אנדרואיד מבקש להפחית בעיות תאימות על ידי הפחתת יישומים מקוטעים ותמיכה סלקטיבית. שירות בקרת HDMI משתמש בשירותי אנדרואיד הקיימים, כולל קלט וכוח.
משמעות הדבר היא כי יישומים קיימים של HDMI-CEC יצטרכו לעצב מחדש כדי להשתלב עם אנדרואיד TIF. אנו ממליצים לפלטפורמת החומרה להכיל מעבד מיקרו כדי לקבל Power CEC ON ו- PORTERS אחרים.

- אוטובוס ה- CEC מקבל פקודה מהמקור הפעיל כיום כדי לעבור למקור אחר.
- הנהג מעביר את הפקודה ל- HDMI-CEC HAL.
- ה- HAL מודיע לכל
ActiveSourceChangeListeners
. - שירות בקרת HDMI מקבל הודעה על שינוי מקור באמצעות
ActiveSourceChangeListener
. - שירות מנהל הקלט הטלוויזיה מייצר כוונה לאפליקציית הטלוויזיה להחליף את המקור.
- אפליקציית הטלוויזיה יוצרת לאחר מכן הפעלה של מנהל קלט טלוויזיה עבור קלט הטלוויזיה המועברת אליו ומתקשר
setMain
באותה סשן. - הפגישה של מנהל קלט הטלוויזיה מעבירה מידע זה לקלט הטלוויזיה HDMI.
- כניסת הטלוויזיה HDMI מבקשת להגדרת משטח הצד.
- שירות מנהל הקלט הטלוויזיה מייצר פקודת בקרת ניתוב תואמת בחזרה לשירות בקרת HDMI בעת הגדרת המשטח.
הנחיות לשילוב טלוויזיה
אפליקציית שידור
מכיוון שלכל מדינה יש דרישות ספציפיות לשידור (MHEG, Teletext, HBBTV ועוד), היצרנים צפויים לספק פתרונות משלהם לאפליקציית השידור, למשל:
- MHEG: יליד ערימה
- Teletext: Stack Stack
- HBBTV: פתרון HBBTV מתוכנת VEWD
במהדורת אנדרואיד L, Android TV מצפה כי יצרני המכשירים ישתמשו באינטגרטורי מערכות או בפתרונות אנדרואיד לערימות טלוויזיה אזוריות, להעביר את פני השטח לערימות תוכנת טלוויזיה או להעביר את קוד המפתח הדרוש כדי ליצור אינטראקציה עם ערימות מדור קודם.
כך מתקשרים אפליקציית השידור ואפליקציית הטלוויזיה:
- אפליקציית הטלוויזיה נמצאת במוקד, מקבלת את כל המפתחות.
- אפליקציית הטלוויזיה מעבירה מפתחות (למשל כפתור אדום) למכשיר קלט הטלוויזיה.
- מכשיר הקלט הטלוויזיה משתלב באופן פנימי עם ערימת הטלוויזיה המורשת.
- עם קבלת קוד מקש הפעלה (למשל, כפתור אדום), מכשיר קלט הטלוויזיה מפעיל אפליקציות שידור.
- אפליקציית שידור מקבלת פוקוס באפליקציית הטלוויזיה ומטפלת בפעולות משתמשים.
לחיפוש/המלצה קולית, אפליקציית השידור עשויה לתמוך בחיפוש בתוך האפליקציה אחר חיפוש קולי.