Google est engagé à faire progresser l'équité raciale pour les communautés noires. Regarde comment.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Cadre TV d'entrée

icône Android TV HAL

Le Cadre d'entrée Android TV (TIF) simplifie la livraison de contenu en direct à Android TV. Le TIF Android fournit une API standard pour les fabricants de créer des modules d'entrée pour contrôler les applications TV et permet la recherche de la télévision en direct et des recommandations par métadonnées publiées par l'entrée du téléviseur.

Le cadre ne vise pas à mettre en œuvre les normes de télévision ou des exigences régionales, mais ne le rendre plus facile pour les fabricants d'appareils pour répondre aux normes de diffusion de télévision numérique régionale sans réimplantation. Documentation dans cette section pourrait également être utile pour les développeurs d'applications tiers qui veulent créer des entrées TV de séparation personnalisées.

Composants

La mise en œuvre du cadre d'entrée Android TV comprend une entrée TV Manager. Le TIF fonctionne avec l'application TV, une application système qui ne peut être remplacé par une application tierce, pour un accès intégré et les canaux du tuner IP. L'application TV communique avec TV modules d'entrée fournis par le fabricant de l'appareil ou d'autres parties via le Gestionnaire d'entrée TV.

Le Cadre d'entrée TV se compose de:

  • Fournisseur de TV ( com.android.providers.tv.TvProvider ): une base de données des canaux, des programmes et autorisations associées
  • TV App ( com.android.tv.TvActivity ): l'application que l' interaction utilisateur poignées
  • Entrée TV Manager ( android.media.tv.TvInputManager ): permet aux entrées TV pour communiquer avec l'application TV
  • Entrée TV: une application représentant les tuners physiques ou virtuels et les ports d'entrée
  • Entrée TV HAL ( tv_input module): une définition matérielle qui permet au système TV entrées d'accès matériel spécifique TV lorsque mis en œuvre
  • Contrôle parental: la technologie pour permettre le blocage des canaux et des programmes
  • HDMI-CEC: la technologie pour permettre le contrôle à distance de divers dispositifs sur HDMI

Ces composants sont traités en détail ci-dessous. Voir le schéma ci-dessous pour une vue détaillée de l'architecture-cadre d'entrée Android TV.

Vue d'ensemble de l'architecture TIF Android
Figure 1. Cadre Android TV d' entrée (TIF) Architecture

Couler

Voici comment l'architecture est exercée:

  1. L'utilisateur voit et interagit avec l'App TV, une application système qui ne peut être remplacé par une application tierce.
  2. L'application TV affiche le contenu AV à partir de l'entrée du téléviseur.
  3. L'application TV ne peut pas parler directement avec les entrées TV. Le téléviseur d'entrée gestionnaire détermine l'état des entrées TV pour l'App TV. Voir TV d' entrée ci - dessous pour responsable plus de détails sur ces limites.

autorisations

  • Seulement signatureOrSystem TV Entrées et TV App ont accès à la base de données du fournisseur de télévision et sont en mesure de recevoir KeyEvents.
  • Seul le système TV Les entrées peuvent accéder à la TV d'entrée HAL par le service d'entrée TV Manager. TV Les entrées sont accessibles un à un via des sessions TV d'entrée Manager.
  • Tiers TV Les entrées ont accès verrouillé paquet à la base de données du fournisseur de télévision et lire / écrire seulement pour les lignes correspondant à l'emballage.
  • entrées de télévision tiers peuvent soit afficher leur propre contenu ou le contenu d'un entrées du fabricant de l'appareil de télévision passthrough, comme HDMI1. Ils ne peuvent pas afficher le contenu des entrées de télévision non-passthrough, comme un intégré ou d'un tuner IPTV.
  • TV_INPUT_HARDWARE l' autorisation d'une télévision matérielle application d'entrée, les signaux d' entrée du service TV Manager pour informer la TV d'entrée au démarrage pour appeler le service d' entrée TV Manager et ajouter ses entrées TV. Cette autorisation permet à un téléviseur matériel application d'entrée pour prendre en charge plusieurs entrées TV par TV d'entrée, ainsi que d'être en mesure d'ajouter et de supprimer dynamiquement ses entrées TV prises en charge.

fournisseur TV

La base de données du fournisseur de télévision stocke les chaînes et programmes TV à partir des entrées. Le fournisseur de télévision publie et gère également les autorisations associées afin que TV Les entrées peuvent voir que leurs propres dossiers. Par exemple, une entrée de télévision spécifique peut voir que les canaux et les programmes qu'il a fournis et est interdit d'avoir accès à des chaînes et des programmes de toute autre TV Entrées.

Le fournisseur de cartes TV « genre de diffusion » à « genre canonique » en interne. TV Les entrées sont responsables de peuplant « genre de diffusion » avec la valeur dans la norme de diffusion sous - jacente, et le champ « genre canonique » sera automatiquement renseigné avec le genre associé correct de android.provider.TvContract.Genres . Par exemple, la norme de diffusion ATSC A / 65 et du programme genre 0x25 (ce qui signifie « Sports »), l'entrée du téléviseur renseignera le « genre de diffusion » avec la chaîne « Sport » et fournisseur de télévision va remplir le champ « genre canonique » avec la valeur mappée android.provider.TvContract.Genres.SPORTS .

Voir le schéma ci-dessous pour une vue détaillée du fournisseur de télévision.

Fournisseur Android TV
Figure 2. Fournisseur Android TV

Seules les applications dans la partition système privilégiée peut lire toute la base de données du fournisseur de télévision.

Passthrough entrées de télévision ne stockent pas des chaînes et des programmes.

En plus des champs standard pour les chaînes et programmes, la base de données du fournisseur de télévision offre également un champ de type BLOB, COLUMN_INTERNAL_PROVIDER_DATA , dans chaque tableau TV Les entrées peuvent utiliser pour stocker des données arbitraires. Que les données BLOB peuvent inclure des informations de commande, telles que la fréquence du tuner associé, et peut être fournie dans un tampon de protocole ou une autre forme. Un champ interrogeable est disponible pour rendre certains canaux disponibles à la recherche (par exemple pour répondre aux besoins spécifiques des pays pour la protection du contenu).

Exemples de terrain de base de données

Les supports de fournisseur de télévision des données structurées dans le canal ( android.provider.TvContract.Channels ) et programme ( android.provider.TvContract.Programs tables). Ces tables sont accessibles et par la télévision Entrées et applications du système comme l'App TV. Ces tableaux ont quatre types de champs:

  • Affichage: champs d'affichage contiennent des informations que les applications peuvent vouloir rendre visible à l'utilisateur, comme le nom (d'un canal COLUMN_DISPLAY_NAME ) ou le numéro ( COLUMN_DISPLAY_NUMBER ), ou le titre du programme en cours de visualisation.
  • Métadonnées: Il y a trois champs pour identifier le contenu, selon les normes pertinentes, comme un flux de transport de canal ID ( COLUMN_TRANSPORT_STREAM_ID ), réseau d' origine ID ( COLUMN_ORIGINAL_NETWORK_ID ) et service id ( COLUMN_SERVICE_ID ).
  • Données internes: Les champs qui sont pour l'utilisation personnalisée des entrées TV.
    Certains domaines, comme COLUMN_INTERNAL_PROVIDER_DATA sur leur chaîne ou le programme, sont des champs BLOB personnalisables où une entrée TV peut stocker les métadonnées arbitraires.
  • Drapeau: Les champs drapeau représentent si un canal doit être limité de recherche, de navigation ou de visualisation. Cela peut être réglé uniquement au niveau du canal. Tous les programmes reportent à la mise sur le canal.
    • COLUMN_SEARCHABLE : La restriction de la recherche de certains canaux peut être une exigence dans certaines régions. COLUMN_SEARCHABLE = 0 signifie que la chaîne ne doit pas être exposé dans les résultats de recherche.
    • COLUMN_BROWSABLE : applications Visible système uniquement. La restriction de canal en cours d'utilisation par les applications. COLUMN_BROWSABLE = 0 signifie que la chaîne ne doit pas être inclus dans la liste des chaînes.
    • COLUMN_LOCKED : applications Visible système uniquement. La restriction de canal d'être vu par des comptes non valides, sans saisie du code PIN. COLUMN_LOCKED = 1 moyen du canal doit être protégée par un contrôle parental.

Pour une liste plus exhaustive des champs, voir des android/frameworks/base/media/java/android/media/tv/TvContract.java

Autorisations et contrôle d'accès

Tous les champs sont visibles à toute personne ayant accès à la ligne correspondante. Aucun champs sont directement accessibles aux utilisateurs; ils ne voient que ce que l'App TV, applications système ou surface Entrées TV.

  • Chaque ligne a PACKAGE_NAME , le paquet (app) qui est propriétaire de cette ligne, vérifié sur requête, Insérer, Mise à jour via TvProvider.java. Une entrée TV peut accéder uniquement les informations qu'il a écrit et est fermée au informations fournies par d'autres entrées TV.
  • LIRE, les permissions d'écriture via AndroidManifest.xml (nécessite le consentement de l'utilisateur) pour déterminer les canaux disponibles.
  • Seules signatureOrSystem applications peuvent acquérir ACCESS_ALL_EPG_DATA l' autorisation d'accéder à la base de données.

Entrée TV Responsable

Le téléviseur d'entrée Manager fournit une API système central du Cadre TV globale Android d'entrée. Il interaction entre les applications d'arbitre et entrées TV et offre des fonctionnalités de contrôle parental. TV sessions Manager d'entrée doivent être créés un à un avec les entrées TV. Le téléviseur d'entrée Manager permet l'accès aux entrées TV installées de sorte des applications peuvent:

  • Liste des entrées TV et vérifier leur état
  • Créer et gérer des sessions d'auditeurs

Pour les sessions, une entrée du téléviseur peut être réglé par l'App TV uniquement pour URIs il a ajouté à la base de données du fournisseur de télévision, sauf pour passthrough TV Entrées accordable à l' aide TvContract.buildChannelUriForPassthroughInput() . Une entrée TV peut également avoir son ensemble de volumes. TV Entrées fournies et signées par le fabricant du périphérique (apps signature) ou d'autres applications installées dans la partition système aura accès à l'ensemble de la base de données du fournisseur de télévision. Cet accès peut être utilisé pour des applications de construct pour parcourir et effectuer des recherches sur toutes les chaînes de télévision disponibles et des programmes.

Une application peut créer et enregistrer un TvInputCallback avec le android.media.tv.TvInputManager à appeler en arrière sur un état de TV d' entrée de modification ou de l'ajout ou la suppression d'une entrée du téléviseur. Par exemple, une application TV peut réagir lorsqu'une entrée TV est déconnecté en affichant comme déconnecté et empêcher sa sélection.

La TV d'entrée Responsable abstracts communication entre l'App TV et entrées TV. L'interface standard du Gestionnaire d'entrée TV et entrée permet aux fabricants de périphériques multiples pour créer leur propre TV Apps tout en aidant tous les tiers travail entrées TV sur toutes les applications TV.

Entrées TV

TV Les entrées sont des applications Android dans le sens qu'ils ont un AndroidManifest.xml et sont installés (via la lecture, pré-installé, ou transféré,). supports Android TV applications système pré-installées, les applications signées par le fabricant de l'appareil et des tiers Entrées TV.

Certaines entrées, comme l'entrée HDMI ou entrée intégrée du tuner, peuvent être fournis que par le fabricant comme ils parlent directement avec le matériel sous-jacent. D'autres, comme l'IPTV, le lieu-décalage et STB externe, peuvent être fournis par des tiers APK sur Google Play Store. Une fois téléchargé et installé, la nouvelle entrée peut être sélectionnée dans l'App TV.

Exemple d'entrée passthrough

Entrée système Android TV
Figure 3. Système Android TV d' entrée

Dans cet exemple, l'entrée TV fourni par le fabricant de l'appareil est fiable et a un accès complet au fournisseur de télévision. En entrée TV passthrough, il n'enregistre pas de chaînes ou des programmes avec le fournisseur de télévision. Pour obtenir l'URI utilisé pour faire référence à l'entrée intercommunication, utilisez la android.media.tv.TvContract méthode utilitaire buildChannelUriForPassthroughInput(String inputId) . L'application TV communique avec le gestionnaire d'entrée du téléviseur pour accéder à l'entrée TV HDMI.

Intégré dans l'exemple tuner

Android TV Tuner intégré Entrée
Figure 4. Android TV Tuner intégré Entrée

Dans cet exemple, l'entrée Tuner TV intégré fourni par le fabricant de l'appareil est fiable et a un accès complet au fournisseur de télévision.

Exemple d'entrée tiers

entrée tiers Android TV
Figure 5. Entrée tiers Android TV

Dans cet exemple, le STB externe d'entrée TV est fourni par un tiers. Depuis que la télévision d'entrée ne peut pas accéder directement au flux vidéo HDMI entrant, il faut passer par l'entrée TV Manager et utiliser le téléviseur Entrée HDMI fourni par le fabricant de l'appareil.

Via le Gestionnaire d'entrée TV, la TV externe STB d'entrée peut parler avec le téléviseur HDMI d'entrée et lui demander de montrer la vidéo sur HDMI1. Ainsi, l'entrée TV STB peut contrôler le téléviseur alors que le fabricant fourni d'entrée TV HDMI rend la vidéo.

Image dans l'image (PIP) exemple

KeyEvents Android TV
Figure 6. KeyEvents Android TV

Le diagramme ci-dessus montre comment les boutons d'une télécommande sont transmises à une entrée TV spécifique pour l'image dans l'affichage de l'image (PIP). Sont interprétés les pressions de bouton par le conducteur du matériel fourni par le fabricant de l' appareil, les convertir scancodes de matériel pour keycodes et passant Applications aux standards applications pipeline d'entrée InputReader et InputDispatcher fonctions KeyEvents . Ceux-ci à des événements déclencheurs tourner sur l'App TV si elle est mise au point.

Seul le système TV Les entrées peuvent recevoir InputEvents , et seulement si elles ont le RECEIVE_INPUT_EVENT autorisation du système. La télévision d'entrée est responsable de déterminer qui InputEvents à consommer et devrait permettre à l'App TV pour gérer les clés il n'a pas besoin de consommer.

L'application TV est responsable de savoir quel système TV d' entrée est actif, ce qui signifie sélectionné par l'utilisateur, et pour désambiguïser entrants KeyEvents et les acheminer à la session Manager correcte Entrée TV, appelant dispatchInputEvent() de transmettre l'événement à l'entrée du téléviseur associé .

MHEG-5 exemple d'entrée

Le schéma suivant montre une vue plus détaillée de la façon dont KeyEvents sont acheminés à travers l'Android TIF.

Exemple de bouton Android TV Rouge
Figure 7. Android TV bouton rouge exemple

Il représente le flux d'une application bouton rouge, commun en Europe pour permettre aux utilisateurs d'accéder des applications interactives sur leur téléviseur. Une application peut être livré sur ce flux de transport. Lorsque le bouton est cliqué, il permet aux utilisateurs d'interagir avec ces applications de diffusion. Par exemple, vous pouvez utiliser ces applications de diffusion aux pages web liées à l'accès ou les résultats sportifs.

Voir la section application de diffusion pour savoir comment diffuser applications interagissent avec l'application TV.

Dans cet exemple:

  1. L'application TV est mise au point et reçoit toutes les clés.
  2. KeyEvents (par exemple , le bouton rouge) est passé à la télévision active Entrée en InputEvents.
  3. La télévision système intègre d'entrée avec pile MHEG-5 et a la RECEIVE_INPUT_EVENT permission système.
  4. Lors de la réception activation keycode (par exemple, le bouton rouge), l'entrée TV active l'application de diffusion.
  5. Entrée TV consomme KeyEvents comme InputEvents et l'application de diffusion est la mise au point et poignées InputEvents jusqu'à son renvoi.

Remarque: Les entrées de télévision tiers ne reçoivent jamais les clés.

Entrée TV HAL

Le téléviseur d'entrée HAL aide au développement d'entrées TV d'accès matériel spécifique à la télévision. Comme avec d' autres HALs Android, le téléviseur d' entrée HAL ( tv_input ) est disponible dans l'arbre source PSBA et le fournisseur développe sa mise en œuvre.

TV App

Le système TV App présente le contenu de la télévision en direct à l'utilisateur. est fourni à côté de la plate-forme Android, qui peut être utilisé tel quel, sur mesure, étendu ou remplacé par les fabricants d'appareils Une référence TV App (TV en direct). Le code source est disponible dans l'Android Open Source Project, et vous pouvez commencer à utiliser dans l' application TV Référence article.

Les fabricants d'appareils peuvent étendre leur TV Apps pour implémenter des fonctionnalités du fabricant de l'appareil ou spécifiques de pays, mais ce n'est pas dans le cadre de TIF ou la référence TV App.

Au minimum, le système TV App doit gérer les tâches suivantes:

Installation et configuration

  • Détection automatique des entrées TV
  • Laissez TV Entrées lancer la configuration canal
  • Contrôler les réglages parentaux
  • Modifier les canaux

Affichage d'un

  • L'accès et de naviguer toutes les chaînes de télévision
  • Accès à la barre d'information du programme TV
  • Afficher les données Guide de programmation électronique (EPG)
  • Support de multiples pistes audio et sous-titres
  • PIN défi offre de contrôle parental
  • Autoriser entrée TV superposition de l'interface utilisateur pour la norme TV (HbbTV, etc.)
  • Résultats de la recherche pour POPULATE chaînes de télévision et des programmes
  • application d'affichage reliant les cartes
  • Soutien API Timeshifting
  • Gérer la fonctionnalité DVR et support API d'enregistrement TV

Cet ensemble de fonctionnalités augmentera en ligne avec les nouvelles versions Android où les API de la plate-forme TIF sont étendues. CTS Verifier offre la couverture de test de compatibilité.

Prise en charge des entrées TV tiers

Android TV fournit des API de développement pour les entrées de télévision tiers, ce qui permet des applications installées pour fournir des canaux de logiciels dans l'expérience de la télévision en direct. Afin d'assurer une mise en œuvre du dispositif compatible Android, le système TV App a des responsabilités en ce qui concerne surfaçage entrées de télévision tiers et des canaux à l'utilisateur. La référence application Live TV fournit une implémentation compatible; si le remplacement du système TV App, les fabricants d'appareils doivent assurer leurs propres applications offrent une compatibilité similaire, aux attentes des développeurs de répondre dans tous les appareils Android TV.

Le système TV App doit surface des entrées tiers aux côtés de service de télévision en direct par défaut de l'appareil. La promesse des API de développement est que les utilisateurs seront en mesure de trouver des canaux (une fois installé) dans leur expérience de télévision standard.

différenciation visuelle entre intégrée dans les canaux et les canaux tiers est autorisé, tel que défini dans la section App TV de l'Android CDD.

Les sections suivantes montrent comment l'application Live TV répond aux exigences de CDD.

Nouvelle configuration de canal

L'ajout de nouvelles entrées / canaux tiers commence par l'utilisateur de trouver et d'installer un téléviseur d'entrée d'un magasin d'applications, telles que Google Play.

Certaines entrées de télévision tiers ajoutent automatiquement des canaux à la base de données TvProvider. Cependant, la plupart fournira une activité d'installation pour permettre à l'utilisateur de mettre en place leurs canaux, fournir des détails de connexion et d'autres actions. Le système TV App doit veiller à ce que l'utilisateur peut activer cette activité d'installation, ce qui explique pourquoi le CDD nécessite des intrants tiers soient les actions de navigation minimales de la principale application TV.

La référence application Live TV offre le menu Sources canal pour accéder à des entrées.

Aller aux paramètres
Figure 8. Allez dans Paramètres.

Aller à la source du canal dans Paramètres
Figure 9. Allez aux sources anglo - normandes dans les paramètres.

Sélectionnez votre source dans la liste.
Figure 10. Sélectionnez votre source dans la liste.

Ajouter des canaux de votre source
Figure 11. canaux Ajouter à partir de votre source.

En outre, une carte de notification est affiché en haut du menu App TV après une nouvelle TvInput est installé, pour prendre directement l'utilisateur à la configuration:

Notification que de nouvelles sources de canal de spectacles sont disponibles.
Figure 12. Notification que les nouvelles sources de canal de spectacles sont disponibles.

Si l'utilisateur prend des mesures par la notification, ils peuvent choisir de mettre en place leurs sources comme on le voit dans la figure 10.

Voir Définir votre TV d'entrée pour les attentes des développeurs dans ce domaine.

Personnaliser la liste des canaux

Les fabricants d'appareils peuvent fournir une interface utilisateur de cacher certains canaux et permettre aux utilisateurs de gérer leurs propres GEP. Live TV inclut cette possibilité.

Ouvrez la liste des chaînes dans les paramètres.
Figure 13. Ouvrez la liste des chaînes dans les paramètres.

Personnalisez votre liste des chaînes.
Figure 14. Personnaliser votre liste de canaux.

EPG

Les développeurs d'entrée tiers doivent avoir confiance que les utilisateurs peuvent facilement naviguer à leurs canaux pendant l'utilisation générale, dans tous les appareils compatibles Android TV.

Canaux à partir d'entrées tiers doivent être présentées dans le cadre de l'expérience de la télévision en direct standard de l'appareil EPG. séparation visuelle ou catégories distinctes pour les canaux tiers peuvent être utilisés (voir la section App TV du CDD Android) la clé de -Quelle est que les utilisateurs sont en mesure de trouver les canaux qu'ils ont installés.

Les fabricants doivent mettre en œuvre l'application TV d'inclure les résultats de recherche pour les demandes globales de recherche afin d'assurer la meilleure expérience utilisateur. Live TV fournit une implémentation (voir com.android.tv.search.TvProviderSearch ) qui fournit des résultats à partir d' intrants tiers (requis pour la compatibilité de la plate - forme), ainsi que des entrées intégrées.

décalage temporel

Pour les appareils sur Android 6.0 et au- dessus, l'App TV doit prendre en charge le cadre Android API décalage dans le temps . En outre, les fabricants doivent mettre en œuvre des contrôles de lecture dans l'App TV, qui permettent aux utilisateurs de suspendre, reprendre, revenir en arrière et avance rapide de la lecture.

Pour la télévision Entrées que le temps de soutenir le transfert, l'App TV doit les commandes de lecture d'affichage.

commandes de lecture
Figure 15. Commandes de lecture

DVR

Pour les appareils sur Android 7.0 et au- dessus, l'App TV doit prendre en charge le framework Android API d'enregistrement de télévision , à l' appui, la liste et lire des programmes enregistrés.

Cela permet aux fabricants de périphériques de brancher leurs sous-systèmes DVR en TIF et réduisent considérablement l'effort d'intégration qu'il faut pour activer ou intégrer la fonctionnalité DVR sur un appareil de télévision. Elle permet également aux tiers de fournir après-vente des systèmes DVR qui peuvent être branchés dans un appareil Android TV.

En plus d'enregistrer du contenu en direct, l'App TV gère également les conflits de ressources. Par exemple, si le dispositif comporte deux tuners, il peut enregistrer deux programmes en même temps. Si l'utilisateur demande à enregistrer trois, l'App TV doit gérer le conflit et doit soit la surface d'une notification ou demande que les horaires des utilisateurs une priorité pour ces demandes.

TV Apps peut également mettre en œuvre une logique plus sophistiquée comme demander à un utilisateur s'ils aimeraient enregistrer tous les futurs épisodes d'une série lorsqu'ils demandent d'enregistrer un épisode.

Voir le schéma ci-dessous pour une vue sur une implémentation DVR possible dans Android TV.

enregistrement vidéo numérique dans Android TV
Figure 16. enregistrement vidéo numérique dans Android TV

  1. Le service d'entrée TV indique l'App TV combien de tuners sont disponibles pour que l'App TV peut gérer un éventuel conflit de ressources.
  2. L'application TV reçoit une demande initiée par l'utilisateur d'enregistrer un programme TV.
  3. La TV App stocke le programme d'enregistrement dans sa base de données interne.
  4. Quand il est temps d'enregistrer, le téléviseur passe App une demande pour syntoniser le canal associé à l'enregistrement.
  5. Le service d'entrée TV reçoit cette demande, répond avec ou non il y a des ressources appropriées, et des airs à la chaîne.
  6. Ensuite, l'App TV passe une demande pour commencer l'enregistrement au gestionnaire d'entrée TV.
  7. Le téléviseur d'entrée de service reçoit cette demande et commence l'enregistrement.
  8. Le téléviseur d'entrée de service stocke les données vidéo réelles dans son stockage, qui peut être le stockage ou le stockage en nuage externe.
  9. Quand il est temps pour terminer l'enregistrement, l'App TV transmet la demande d'enregistrement d'arrêt au gestionnaire d'entrée TV.
  10. Une fois l'entrée TV Service reçoit la demande, il arrête l'enregistrement et ajoute les métadonnées associées au fournisseur de télévision pour que l'App TV peut montrer l'enregistrement aux utilisateurs sur demande.

Pour plus d' informations sur la mise en œuvre d' enregistrement propose dans votre TV d'entrée, voir ce Enregistrement TV article.

ressources utiles

  • L' Android CDD et les API de développement documentées sont les références définitives.
  • CTS Verifier exerce les API dans le cadre du programme de tests de compatibilité. L'exécution de ce contre la télévision en direct peut être un moyen utile pour voir l'EPG, Recherche, Contrôle parental, et d'autres exigences dans le contexte des intrants tiers.
  • Voir Définir votre TV d'entrée pour les attentes des développeurs dans ce domaine.

Contrôle parental

Le contrôle parental permet à un bloc utilisateur canaux et programmes indésirables, mais contourner le bloc en entrant un code PIN.

La responsabilité de la fonctionnalité de contrôle parental est partagée entre l'App TV, TV d'entrée Manager, fournisseur de télévision et d'entrée TV.

Le contrôle parental est obligatoire et est couvert par CTS Verifier.

Un certain nombre de pays ont défini des systèmes de notation TV Les entrées peuvent utiliser via l' API TVContentRating . En outre, la télévision Les entrées peuvent enregistrer leurs propres systèmes de notation personnalisée comme démontré par le test CTS Verifier, qui introduit une note de « faux ». Pour les pays où un système de notation norme existe, les fabricants d'appareils sont encouragés à combiner le Cadre d'entrée TV Contrôle parental avec d'autres mécanismes, ils peuvent inclure.

fournisseur TV

Chaque ligne de canal a une COLUMN_LOCKED champ qui est utilisé pour les canaux de spécifiques de verrouillage de visualisation sans saisie d' un code PIN. Le champ du programme COLUMN_CONTENT_RATING est destiné à l' affichage et ne sert pas à appliquer le contrôle parental.

Entrée TV Responsable

Le téléviseur d' entrée Gestionnaire stocke tous les bloqués TvContentRating et répond à isRatingBlocked() pour indiquer si le contenu de la note donnée doit être bloqué.

entrée TV

Le téléviseur vérifie d'entrée si le contenu actuel doit être bloqué en appelant isRatingBlocked() sur le gestionnaire d'entrée du téléviseur lorsque l'évaluation du contenu affiché a changé (sur le programme ou le changement de canal), ou les paramètres de contrôle parental ont changé (sur ACTION_BLOCKED_RATINGS_CHANGED et ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED ) . Si le contenu doit être bloqué, l'entrée du téléviseur désactive l'audio et la vidéo et l'application notifie TV que le contenu actuel est bloqué en appelant notifyContentBlocked(TvContentRating) . Si le contenu ne doit pas être bloqué, l'entrée du téléviseur permet audio et vidéo et informe l'App TV le contenu actuel est autorisé en appelant notifyContentAllowed() .

TV App

Pour honorer les API de contrôle parental, et donc créer une plate-forme compatible, le système a besoin TV App pour fournir aux utilisateurs un moyen de gérer le contrôle parental, y compris pour toutes les évaluations personnalisées enregistrées par des applications spécifiques.

L'application TV montre une interface utilisateur du code PIN quand il est informé par un téléviseur d'entrée que le contenu actuel est bloqué ou lorsque les tentatives de l'utilisateur pour afficher un canal bloqué.

La TV App ne stocke pas directement les paramètres de contrôle parental. Lorsque l'utilisateur modifie les paramètres de contrôle parental, chaque bloqué TvContentRating est stocké par le téléviseur d' entrée Manager et les canaux bloqués sont stockés par le fournisseur de télévision.

L'application TV doit déclarer les autorisations android.permission.MODIFY_PARENTAL_CONTROLS afin de modifier les paramètres de contrôle parental.

Les fabricants d'appareils sont encouragés à:

  • Exercice du test de contrôle parental CTS Verifier contre la référence Live application TV pour une démonstration des exigences de compatibilité.
  • Utilisez l'application Live TV comme référence pour leur propre TV App: en particulier voir le ContentRatingsManager et RatingSystemsFragment source et la façon dont ils gèrent évaluations personnalisées.

HDMI-CEC

HDMI-CEC permet un dispositif pour commander un autre, permettant ainsi une seule télécommande pour contrôler plusieurs appareils dans un système home cinéma. Il est utilisé par Android TV pour accélérer l'installation et permet le contrôle à distance sur plusieurs entrées TV via l'App centrale TV. Par exemple, il peut changer les entrées, la mise sous tension ou vers le bas appareils, et plus encore.

Les outils TIF Android HDMI-CEC comme le service de contrôle HDMI afin que seulement les fabricants d'appareils ont besoin de développer des pilotes de bas niveau qui interagissent avec le téléviseur Android léger HAL, sauter la logique métier plus complexe. En fournissant une implémentation standard, Android cherche à atténuer les problèmes de compatibilité en réduisant les mises en œuvre fragmentée et sélective en charge la fonction. Le service de contrôle HDMI utilise les services Android existants, y compris l'entrée et de la puissance.

Ce moyens existants implémentations HDMI-CEC devront être repensée pour interopérer avec l'Android TIF. Nous vous recommandons la plate-forme matérielle contient un microprocesseur pour recevoir l'énergie de la CEC sur et d'autres commandes.

l'intégration de la CCE sur Android TV
Figure 17. intégration de la CCE sur Android TV

  1. Le bus CEC reçoit une commande provenant de la source actuellement active à passer à une autre source.
  2. Le pilote transmet la commande à la HDMI-CEC HAL.
  3. La HAL informe tous ActiveSourceChangeListeners .
  4. Le service de contrôle HDMI est informé du changement de source via ActiveSourceChangeListener .
  5. Le service TV d'entrée Manager génère une intention pour l'App TV pour changer la source.
  6. L'application TV crée ensuite une session d' entrée TV Manager pour l'être d'entrée TV commuté et les appels setMain sur cette session.
  7. La TV d'entrée Gestionnaire de session transmet ces informations à l'entrée TV HDMI.
  8. Les demandes d'entrée TV HDMI à surface ensemble bande latérale.
  9. Le service de télévision d'entrée Manager génère une commande de contrôle de routage correspondant à la fonction de retour de commande HDMI lorsque la surface est définie.

directives d'intégration TV

app diffusion

Parce que chaque pays a des exigences spécifiques de diffusion (MHEG, télétexte, HbbTV et plus), les fabricants devraient fournir leurs propres solutions pour l'application de diffusion, par exemple:

  • MHEG: pile native
  • Télétexte: pile native
  • HbbTV: solution HbbTV de Vewd Software

Dans la version Android L, Android TV attend les fabricants d'appareils aux systèmes d'utilisation des intégrateurs ou des solutions Android pour piles de télévision régionales, passer la surface à piles de logiciels TV, ou passer le code clé nécessaire pour interagir avec des piles existantes.

Voilà comment l'application de diffusion et TV App interagissent:

  1. L'application TV est mise au point, la réception de toutes les clés.
  2. L'application TV passe (par exemple les touches bouton rouge) au dispositif d'entrée TV.
  3. Le dispositif d'entrée TV intègre en interne avec pile TV héritage.
  4. Sur réception d'un code clé d'activation (par exemple, le bouton rouge), le dispositif d'entrée TV active des applications de diffusion.
  5. Une application de diffusion prend le focus dans l'App TV et gère les actions des utilisateurs.

Pour la recherche / recommandation voix, l'application de diffusion peut soutenir la recherche In-app pour la recherche vocale.