Google si impegna a far progredire equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

TV Framework Input

icona di Android TV HAL

L'ingresso Android TV quadro (TIF) semplifica la fornitura di contenuti dal vivo per Android TV. Il TIF Android fornisce un'API standard per i produttori di creare moduli di ingresso per il controllo di Android TV, e consente la ricerca diretta TV e raccomandazioni tramite metadati pubblicato dalla ingresso TV.

Il quadro non mira a implementare gli standard televisivi o esigenze regionali, ma rende più facile per i produttori di dispositivi per soddisfare gli standard di trasmissione televisiva digitale regionali senza ri-implementazione. La documentazione in questa sezione potrebbe anche essere utile per gli sviluppatori di app di terze parti che vogliono creare ingressi televisivi personalizzati.

componenti

L'implementazione Framework Input Android TV include un gestore di ingresso TV. Il TIF funziona con l'App TV, un'applicazione di sistema che non può essere sostituita da un'app di terze parti, per l'accesso integrato e canali del sintonizzatore IP. L'App TV comunica con i moduli di ingresso TV forniti dal produttore del dispositivo o altre parti tramite il Gestore ingresso TV.

L'ingresso TV quadro si compone di:

  • Provider TV ( com.android.providers.tv.TvProvider ): una banca dati dei canali, programmi, e le autorizzazioni associate
  • TV App ( com.android.tv.TvActivity ): l'applicazione che l'interazione dell'utente maniglie
  • TV Input Manager ( android.media.tv.TvInputManager ): permette l'input TV per comunicare con l'App TV
  • Ingresso TV: un app che rappresenta sintonizzatori fisici o virtuali e porte di ingresso
  • TV Ingresso HAL ( tv_input modulo): una definizione hardware che permette di sistema Ingressi televisivi per l'accesso hardware specifico-TV quando implementato
  • Parental Control: la tecnologia per consentire il blocco di canali e programmi
  • HDMI-CEC: la tecnologia per consentire il controllo remoto di vari dispositivi oltre HDMI

Questi componenti sono coperti in dettaglio nel seguito. Vedere il seguente schema per una vista dettagliata dell'architettura quadro Input Android TV.

Panoramica dell'architettura TIF Android
Quadro (TIF) Architettura di ingresso Figura 1. Android TV

Flusso

Ecco come l'architettura è esercitata:

  1. L'utente vede e interagisce con l'App TV, un'applicazione di sistema che non può essere sostituita da un'app di terze parti.
  2. L'App TV visualizza il contenuto AV Input dal televisore.
  3. L'App TV non può parlare direttamente con gli ingressi TV. Il Gestore TV Input identifica lo stato degli ingressi della TV per l'App TV. Vedere la TV Ingresso Direttore di seguito per maggiori dettagli su queste limitazioni.

permessi

  • Solo signatureOrSystem TV Ingressi e TV App hanno pieno accesso al database fornitore di TV e sono in grado di ricevere KeyEvents.
  • Solo sistema Ingressi TV possono accedere al HAL Ingresso TV attraverso il servizio Gestione ingresso TV. Ingressi TV sono accessibili one-to-one tramite sessioni Gestore TV di ingresso.
  • Terze parti Ingressi TV hanno accesso pacchetto-locked al database fornitore di TV e in grado di leggere / scrivere solo righe corrispondenti pacchetti.
  • Ingressi TV di terze parti possono visualizzare sia i propri contenuti o il contenuto da ingressi TV passthrough di un produttore del dispositivo, come HDMI1. Non possono visualizzare il contenuto di input TV non passthrough, come un sintonizzatore incorporato o IPTV.
  • TV_INPUT_HARDWARE permesso per un hardware TV App ingresso, segnala l'ingresso TV Service Manager per notificare il servizio di ingresso TV al boot di chiamare la TV Input Service Manager e aggiungere gli ingressi TV. Questa autorizzazione consente un hardware TV Ingresso app per supportare più ingressi TV per TV Servizio di ingresso, oltre ad essere in grado di aggiungere in modo dinamico e rimuovere i suoi ingressi TV supportati.

Provider TV

Il database fornitore di TV memorizza i canali e programmi da ingressi TV. Il fornitore di TV pubblica anche e gestisce le autorizzazioni associate in modo che gli ingressi TV possono vedere solo i propri dischi. Per esempio, uno specifico ingresso TV può vedere soltanto i canali ei programmi che ha in dotazione ed è vietato l'accesso a canali e programmi televisivi eventuali altri ingressi.

Il fornitore di TV mappe "broadcast genere" a "genere canonica" internamente. Ingressi TV sono responsabili per la compilazione di "broadcast genere" con il valore dello standard di trasmissione alla base, e il campo "genere canonico" verrà automaticamente compilato con il genere associati corretti da android.provider.TvContract.Genres . Ad esempio, con standard di trasmissione ATSC A / 65 e programma con generi 0x25 (che significa “Sport”), l'ingresso TV sarà popolare il “broadcast genere” con la stringa “Sport” e fornitore di TV popolerà il campo “genere canonica” con il valore mappato android.provider.TvContract.Genres.SPORTS .

Vedere il diagramma qui sotto per una visione dettagliata del fornitore di TV.

Provider Android TV
Provider Figura 2. Android TV

Solo le applicazioni nella partizione di sistema privilegiato in grado di leggere l'intero database provider di TV.

Ingressi TV passthrough non memorizzano i canali e programmi.

In aggiunta ai campi standard per i canali e programmi, il database provider di TV offre anche un campo di tipo BLOB, COLUMN_INTERNAL_PROVIDER_DATA , in ogni tabella che Ingressi televisore potrebbe utilizzare per memorizzare dati arbitrari. Che i dati BLOB possono includere informazioni personalizzate, come la frequenza del sintonizzatore associati, e possono essere forniti in un buffer protocollo o un'altra forma. Un campo ricercabile è a disposizione per fare alcuni canali non disponibili alla ricerca (come ad esempio i requisiti specifici per paese si incontrano per la protezione dei contenuti).

Esempi di campo di database

I supporti Provider TV strutturati dati nel canale ( android.provider.TvContract.Channels ) e programmi ( android.provider.TvContract.Programs ) tabelle. Queste tabelle sono popolate e accessibili da ingressi TV e applicazioni di sistema come l'App TV. Queste tabelle hanno quattro tipi di campi:

  • Display: Campi di visualizzazione contengono informazioni che le applicazioni potrebbero voler rendere visibile all'utente, come il nome di un canale ( COLUMN_DISPLAY_NAME ) o numero ( COLUMN_DISPLAY_NUMBER ), o il titolo del programma visionato.
  • Metadati: Ci sono tre campi per l'identificazione dei contenuti, secondo norme pertinenti, come ID di un canale di flusso di trasporto ( COLUMN_TRANSPORT_STREAM_ID ), ID di rete originale ( COLUMN_ORIGINAL_NETWORK_ID ) e l'ID ( COLUMN_SERVICE_ID ).
  • I dati interni: I campi che sono per l'uso personalizzato di ingressi TV.
    Alcuni campi, come COLUMN_INTERNAL_PROVIDER_DATA , sono campi BLOB personalizzabili in cui un ingresso TV in grado di memorizzare i metadati arbitrario sul loro canale o il programma.
  • Bandiera: campi Flags rappresentano se un canale dovrebbe essere limitato da cercare, sfogliare o la visualizzazione. Questo può essere impostato solo a livello di canale. Tutti i programmi rinviare per l'impostazione sul canale.
    • COLUMN_SEARCHABLE : Limitazione di ricerca da parte di alcuni canali può essere un requisito in alcune regioni. COLUMN_SEARCHABLE = 0 significa il canale non deve essere esposto nei risultati di ricerca.
    • COLUMN_BROWSABLE : visibile solo applicazioni del sistema. Limitando canale vengano sfogliati dalle applicazioni. COLUMN_BROWSABLE = 0 significa il canale non deve essere incluso nell'elenco dei canali.
    • COLUMN_LOCKED : visibile solo applicazioni del sistema. Limitazione del canale di essere visto da conti non validi senza inserire il codice PIN. COLUMN_LOCKED = 1 mediante il canale deve essere protetta dal controllo parentale.

Per un elenco più esaustivo dei campi, vedere android/frameworks/base/media/java/android/media/tv/TvContract.java

Autorizzazioni e controllo degli accessi

Tutti i campi sono visibili a chiunque abbia accesso alla riga corrispondente. Non ci sono i campi sono direttamente accessibili agli utenti; vedono solo quello che l'App TV, sistema applicazioni o superficie ingressi TV.

  • Ogni fila ha PACKAGE_NAME , il pacchetto (app) che possiede quella riga, controllato su Query, Insert, Update tramite TvProvider.java. A Ingresso TV può accedere solo le informazioni che ha scritto ed è transennata dalle informazioni fornite da altri ingressi TV.
  • LEGGI, i permessi di scrittura tramite AndroidManifest.xml (richiede il consenso dell'utente) per determinare i canali disponibili.
  • Solo signatureOrSystem applicazioni possono acquisire ACCESS_ALL_EPG_DATA autorizzazione per accedere l'intero database.

TV Ingresso Responsabile

Il Gestore TV Input fornisce un'API sistema centrale per il quadro generale di ingresso Android TV. E 'arbitra l'interazione tra le applicazioni e gli ingressi TV e fornisce funzionalità di controllo parentale. sessioni TV Input Manager devono essere creati uno-a-uno con ingressi TV. Il Gestore Ingresso TV consente l'accesso agli ingressi TV installati in modo app può:

  • ingressi e verificare il loro stato di Lista TV
  • Creare e gestire sessioni di ascoltatori

Per le sessioni, di un ingresso TV possono essere regolati tramite l'App TV solo per gli URI ha aggiunto al database di provider di tv, fatta eccezione per gli ingressi TV passthrough che possono essere regolati a utilizzare TvContract.buildChannelUriForPassthroughInput() . A Ingresso televisore potrebbe anche avere il suo insieme di volumi. Ingressi TV forniti e firmato dal produttore del dispositivo (applicazioni di firma) o altre applicazioni installate nella partizione di sistema avranno accesso a tutto il database provider di TV. Questo accesso può essere utilizzato per applicazioni costrutto per navigare e cercare in tutti i canali TV disponibili e programmi.

Un'applicazione può creare e registrare un TvInputCallback con android.media.tv.TvInputManager di essere chiamato di nuovo in cambio di stato di un ingresso TV o l'aggiunta o la rimozione di un ingresso TV. Ad esempio, un App TV può reagire quando un ingresso TV viene scollegato mediante la visualizzazione di come disconnesso e prevenire la sua selezione.

Il Gestore TV Input astrae la comunicazione tra l'App TV e ingressi TV. L'interfaccia standard di Direttore TV e ingresso TV consente a più produttori di dispositivi di creare il proprio Apps TV mentre aiutando tutti di terze parti Ingressi TV lavoro su tutte le applicazioni TV.

Ingressi TV

Ingressi TV sono applicazioni Android nel senso hanno un AndroidManifest.xml e vengono installati (tramite Play, pre-installato, o sideloaded). supporti TV Android pre-installate applicazioni di sistema, le applicazioni firmate dal produttore del dispositivo e di terze parti Ingressi TV.

Alcuni input, come l'ingresso HDMI o ingresso integrato sintonizzatore, possono essere forniti solo dal fabbricante come parlano direttamente con l'hardware sottostante. Altri, come l'IPTV, place-shifting, e STB esterni, possono essere forniti da terzi come APK su Google Play Store. Una volta scaricato e installato, il nuovo ingresso può essere selezionato all'interno della app TV.

Esempio di input passthrough

Input Android Sistema TV
Input Figura 3. Sistema Android TV

In questo esempio, l'ingresso TV fornito dal produttore del dispositivo è attendibile e ha accesso completo al fornitore di TV. Come ingresso TV passthrough, non registra alcun canali o programmi con il fornitore di TV. Per ottenere l'URI utilizzato per fare riferimento all'ingresso passthrough, utilizzare android.media.tv.TvContract metodo di utilità buildChannelUriForPassthroughInput(String inputId) . L'App TV comunica con il Gestore Ingresso TV per raggiungere l'ingresso HDMI del televisore.

Built-in sintonizzatore esempio

Android TV incorporato Ingresso sintonizzatore
Figura 4. Android TV incorporato Ingresso sintonizzatore

In questo esempio, l'ingresso Built-in sintonizzatore TV fornito dal produttore del dispositivo è attendibile e ha accesso completo al fornitore di TV.

Esempio di inserimento di terze parti

Android TV di ingresso di terze parti
Figura di input di terze parti 5. Android TV

In questo esempio, l'esterno di ingresso STB TV è fornito da una terza parte. Poiché tale ingresso TV non può accedere direttamente il segnale video HDMI in arrivo, esso deve passare attraverso il televisore Input Manager e utilizzare l'ingresso HDMI TV fornito dal produttore del dispositivo.

Attraverso il Gestore Ingresso TV, l'esterno di ingresso STB TV può parlare con l'ingresso HDMI TV e chiedergli di mostrare il video su HDMI1. Così l'ingresso STB TV può controllare il televisore, mentre il produttore-fornito di ingresso HDMI TV il rendering del video.

Picture in picture (PIP) esempio

KeyEvents Android TV
KeyEvents Figura 6. TV Android

Il diagramma sopra mostra come vengono passati a uno specifico ingresso TV per immagine sul display picture (PIP) pulsanti di un telecomando. Tali presse pulsanti vengono interpretati dal driver hardware fornito dal produttore del dispositivo, la conversione scancodes hardware per keycodes Android e li passa al Android standard di input pipeline InputReader e InputDispatcher funzioni KeyEvents . Questi in eventi trigger accendere la TV App se è a fuoco.

Solo sistema di ingressi TV sono idonei a ricevere InputEvents , e solo se hanno il RECEIVE_INPUT_EVENT autorizzazione del sistema. L'ingresso TV è responsabile per determinare quale InputEvents consumare e dovrebbe consentire l'App TV per gestire le chiavi non ha bisogno di consumare.

L'App TV è responsabile di conoscere quale ingresso sistema TV è attiva, che significa selezionato dall'utente, e per disambiguare in arrivo KeyEvents e loro percorso verso la sessione corretta Ingresso TV Manager, chiamando dispatchInputEvent() per trasmettere l'evento per la TV Input associato .

MHEG-5 Esempio di input

Il diagramma seguente mostra una vista più dettagliata di come KeyEvents vengono instradati attraverso il TIF Android.

Android TV Red tasto esempio
Figura tasto 7. Android TV Rosso esempio

Descrive il flusso di un pulsante di applicazione Rosso, comune in Europa per lasciare agli utenti l'accesso applicazioni interattive sui loro televisori. Un'applicazione può essere consegnato su questo flusso di trasporto. Quando il pulsante viene premuto, consente agli utenti di interagire con queste applicazioni broadcast. Ad esempio, è possibile utilizzare queste applicazioni di trasmissione a pagine web di accesso connessi o risultati sportivi.

Vedere la sezione dell'app Broadcast per imparare trasmissione applicazioni interagiscono con l'App TV.

In questo esempio:

  1. L'App TV è a fuoco e riceve tutte le chiavi.
  2. KeyEvents (ad esempio il tasto rosso) viene passato alla TV Input attivo come InputEvents.
  3. I integra ingresso del sistema TV con MHEG-5 dello stack e ha il RECEIVE_INPUT_EVENT permesso di sistema.
  4. Dopo aver ricevuto codice di attivazione (ad esempio il tasto rosso), l'ingresso TV attiva trasmissione app.
  5. Ingresso TV consuma KeyEvents come InputEvents e l'applicazione di trasmissione è la messa a fuoco e maniglie InputEvents fino respinto.

Nota: gli ingressi TV di terze parti non ricevono le chiavi.

TV HAL Input

L'HAL TV Input favorisce lo sviluppo di ingressi TV ad accesso TV-hardware specifico. Come con altri HAL Android, il televisore Input HAL ( tv_input ) è disponibile nell'albero dei sorgenti AOSP e il venditore si sviluppa la sua attuazione.

TV App

Il sistema TV App presenta contenuti televisivi in ​​diretta per l'utente. Un riferimento TV App (Live TV) è previsto a fianco della piattaforma Android, che può essere utilizzata come-si, su misura, estesa, o sostituiti da produttori di dispositivi. Il codice sorgente è disponibile nel Android Open Source Project, e si può iniziare con esso nella app di riferimento TV articolo.

I produttori di dispositivi possono estendere le loro applicazioni TV per implementare produttore del dispositivo o di un paese-specifiche caratteristiche, tuttavia questo non è nel campo di applicazione TIF o il riferimento TV App.

Come minimo, il sistema TV App deve gestire i seguenti compiti:

Installazione e configurazione

  • Auto-detect Ingressi TV
  • Let Ingressi TV iniziato impostazione dei canali
  • Controllare le impostazioni dei genitori
  • Modifica canali

Sta guardando

  • Accedere e navigare tutti i canali TV
  • Accesso TV barra di informazioni sui programmi
  • Visualizzazione della guida dei dati di programmazione elettronica (EPG)
  • Supporta più tracce audio e sottotitoli
  • sfida PIN di controllo parentale di alimentazione
  • Consentire TV Ingresso sovrapposizione UI per lo standard TV (HbbTV, etc.)
  • risultati della ricerca popolano per i canali televisivi e programmi
  • Visualizzazione app collega carte
  • API Supporto TimeShifting
  • Maneggiare DVR funzionalità e supporto API di registrazione TV

Questo set di funzionalità aumenterà in linea con le nuove versioni di Android in cui le API della piattaforma TIF sono estesi. CTS Verifier fornisce la copertura di test di compatibilità.

Supporto per terze parti Ingressi TV

Android TV fornisce le API per sviluppatori per gli ingressi di terze parti TV, consentendo applicazioni installate per fornire canali software nell'esperienza diretta tv. Per garantire un'attuazione dispositivo Android compatibile, il sistema TV App ha delle responsabilità in materia di emersione ingressi TV di terze parti e canali per l'utente. Il Live TV app di riferimento fornisce un'implementazione compatibile; in caso di sostituzione del sistema TV App, i produttori di dispositivi devono garantire le loro proprie applicazioni forniscono compatibilità simile, per rispondere alle aspettative di sviluppo in tutti i dispositivi TV Android.

Il sistema TV App deve emergere ingressi di terze parti a fianco di default servizio di TV in diretta del dispositivo. La promessa delle API per sviluppatori è che gli utenti saranno in grado di trovare canali (una volta installato) all'interno della loro esperienza televisiva standard.

differenziazione visiva tra built-in canali e canali di terze parti è consentita, così come definito nella sezione TV App del CDD di Android.

Le sezioni seguenti mostrano come l'applicazione Live TV soddisfa i requisiti di CDD.

Nuovo canale di impostazione

L'aggiunta di nuove terze parti ingressi / canali inizia con la ricerca l'utente e l'installazione di un ingresso TV da un negozio di applicazioni, come ad esempio Google Play.

Alcuni ingressi TV di terze parti di aggiungere automaticamente i canali al database TvProvider. Tuttavia la maggior parte fornirà un'attività di installazione per consentire all'utente di impostare i propri canali, fornire i dettagli di login, e altre azioni. Il sistema TV App deve garantire che l'utente può attivare questa attività di installazione, che è il motivo per cui la CDD richiede ingressi di terze parti saranno minime azioni di navigazione lontano dalla principale App TV.

Il Live TV app di riferimento fornisce il menu Fonti canale per l'accesso ingressi.

Vai alle impostazioni
Figura 8. Vai a Impostazioni.

Vai alla sorgente del canale in Impostazioni
Figura 9. Vai a fonti di canale in Impostazioni.

Selezionare la sorgente dalla lista.
Figura 10. Selezionare la fonte dalla lista.

Aggiungere i canali dalla sorgente
Figura 11. Aggiungere i canali dalla sorgente.

In aggiunta una scheda di notifica viene visualizzato nella parte superiore del menu TV App dopo un nuovo TvInput è installato, per prendere l'utente direttamente al Setup:

Notifica che mostra nuove fonti di canale sono disponibili.
Figura 12. Notifica che mostra nuove fonti di canale sono disponibili.

Se l'utilizzatore non intervenga attraverso la notifica, si può scegliere di impostare le loro fonti, come mostrato nella Figura 10.

Vedere definire il vostro TV Servizio di ingresso per le aspettative di sviluppo in questo settore.

Personalizzare l'elenco dei canali

I produttori di dispositivi possono fornire un'interfaccia utente per nascondere alcuni canali e consentire agli utenti di gestire i propri EPG. Live TV include questa struttura.

Aprire la lista dei canali in Impostazioni.
Figura 13. Aprire l'elenco dei canali in Impostazioni.

Personalizza il tuo elenco dei canali.
Figura 14. Personalizza la tua lista dei canali.

EPG

Gli sviluppatori di input di terze parti devono avere fiducia nel fatto che gli utenti possono navigare facilmente ai loro canali durante l'uso generale, su tutti i dispositivi Android TV compatibili.

I canali di input di terze parti devono essere presentati come parte della serie esperienza televisiva in diretta del dispositivo EPG. Visiva separazione o categorie separate per i canali di terze parti possono essere utilizzati (vedere la sezione TV App del CDD Android) la chiave di -Cosa è che gli utenti sono in grado di trovare i canali essi installati.

I produttori devono implementare l'app TV per includere i risultati di ricerca per le richieste di ricerca a livello mondiale al fine di garantire la migliore esperienza utente. Live TV fornisce un'implementazione (vedi com.android.tv.search.TvProviderSearch ), che fornisce i risultati di input di terze parti (necessario per la compatibilità della piattaforma), così come ingressi integrati.

Tempo di spostamento

Per i dispositivi su Android 6.0 e superiori, l'App TV deve sostenere il quadro Android time shifting API . Inoltre, i produttori devono implementare controlli di riproduzione in App TV, che consentono agli utenti di mettere in pausa, riprendere, riavvolgere e avanti veloce la riproduzione.

Per gli ingressi televisivi che Supporto time shifting, l'App TV ha bisogno di controlli di riproduzione di visualizzazione.

controlli di riproduzione
Controlli figura riproduzione 15.

DVR

Per i dispositivi su Android 7.0 e versioni successive, l'App TV deve sostenere il quadro Android API registrazione TV , al supporto, lista, e riprodurre i programmi registrati.

Questo consente ai produttori di dispositivi di collegare i propri sottosistemi DVR in TIF e drammaticamente ridurre lo sforzo di integrazione necessario per attivare o integrare le funzionalità del DVR su un dispositivo TV. Consente inoltre di terze parti di fornire aftermarket sistemi DVR che possono essere inseriti in un dispositivo Android TV.

Oltre a registrare contenuti dal vivo, l'App TV si occupa anche di conflitto di risorse. Ad esempio, se il dispositivo è dotato di due sintonizzatori, può registrare due programmi contemporaneamente. Se l'utente chiede di registrare tre, l'App TV deve gestire il conflitto e deve sistemi di superficie, una notifica o richiesta che i utente pianifica una priorità per queste richieste.

TV Apps può anche implementare la logica più sofisticata come chiedere a un utente se vorrebbero per registrare tutti gli episodi futuri di una serie quando chiedono di registrare un episodio.

Vedere il seguente schema per una vista in una possibile implementazione DVR in Android TV.

registrazione video digitale in Android TV
Registrazione video Figura 16. Digital in Android TV

  1. Il servizio di TV Input dice l'App TV quanti sintonizzatori sono disponibili in modo che l'App TV in grado di gestire possibile conflitto di risorse.
  2. L'App TV riceve una richiesta avviato dall'utente per registrare un programma TV.
  3. L'App TV memorizza il programma di registrazione nel suo database interno.
  4. Quando è il momento per registrare, l'App TV passa una richiesta per sintonizzarsi sul canale associato con la registrazione.
  5. Il servizio di TV in ingresso riceve questa richiesta, risponde con se o non ci sono risorse adeguate, e si sintonizza sul canale.
  6. Poi l'App TV passa una richiesta per avviare la registrazione al Gestore ingresso TV.
  7. L'ingresso TV Service riceve la richiesta e avvia la registrazione.
  8. Il servizio di TV di ingresso memorizza i dati video effettivi nel suo stoccaggio, che può essere di archiviazione esterna o cloud storage.
  9. Quando è il momento per terminare la registrazione, l'App TV passa la richiesta di registrazione di arresto al Gestore ingresso TV.
  10. Una volta che l'ingresso TV Service riceve la richiesta, si ferma la registrazione e aggiunge il suo metadati associati al provider televisore in modo che l'App TV può mostrare la registrazione agli utenti quando richiesto.

Per ulteriori informazioni sull'implementazione di registrazione dispone nella vostra TV Servizio di ingresso, si veda questo Registrazione TV articolo.

risorse utili

  • Il CDD di Android e le API per sviluppatori documentati sono i riferimenti definitivi.
  • CTS Verifier esercita le API come parte del programma di test di compatibilità. L'esecuzione di questo contro Live TV può essere un modo utile per vedere l'EPG, ricerca, Parental Control, e gli altri requisiti nel contesto di input di terze parti.
  • Vedere definire il vostro TV Servizio di ingresso per le aspettative di sviluppo in questo settore.

Controllo dei genitori

controllo parentale consente a un blocco utente canali e programmi indesiderati, ma bypassare il blocco inserendo un codice PIN.

La responsabilità per la funzionalità di controllo parentale è condivisa tra l'App TV, servizio di TV Input Manager, fornitore di TV e ingresso TV.

controllo parentale è obbligatoria, ed è coperto da CTS Verifier.

Un certo numero di paesi hanno definito sistemi di rating che gli ingressi TV possono utilizzare tramite l' API TVContentRating . Inoltre, gli ingressi TV può registrare i propri sistemi di rating personalizzati come dimostrato dal test CTS Verifier, che introduce un rating 'falso'. Per i paesi in cui esiste un sistema di valutazione standard, i produttori di dispositivi sono incoraggiati a combinare il quadro di controllo parentale ingresso TV con altri meccanismi che possono comprendere.

Provider TV

Ogni riga canale ha una COLUMN_LOCKED campo utilizzato per canali serratura specifici dalla visualizzazione senza immettere un codice PIN. Il campo programma COLUMN_CONTENT_RATING è inteso per la visualizzazione e non viene utilizzato per applicare il controllo parentale.

TV Ingresso Responsabile

I negozi TV Input Manager Ogni bloccato TvContentRating e risponde alle isRatingBlocked() per avvisare se il contenuto con il dato rating dovrebbe essere bloccato.

ingresso TV

I controlli TV di ingresso se il contenuto corrente deve essere bloccato chiamando isRatingBlocked() in Gestione Ingresso TV quando il punteggio del contenuto visualizzato è cambiato (in programma o cambio canale), o le impostazioni di controllo parentale sono cambiate (su ACTION_BLOCKED_RATINGS_CHANGED e ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED ) . Se il contenuto deve essere bloccato, l'ingresso TV disattiva l'audio e video e notifica l'applicazione TV che l'attuale contenuto è bloccato chiamando notifyContentBlocked(TvContentRating) . Se il contenuto non deve essere bloccato, l'ingresso TV permette audio e video e notifica l'App TV il contenuto corrente è consentito chiamando notifyContentAllowed() .

TV App

Per onorare le API di controllo parentale, e quindi creare una piattaforma compatibile, il sistema TV App deve fornire un modo per gli utenti di gestire il controllo dei genitori, anche per eventuali feedback personalizzati registrati da applicazioni specifiche.

L'App TV mostra un codice PIN utente quando viene notificato da un ingresso TV che l'attuale contenuto è bloccato o quando i tentativi di utente per visualizzare un canale bloccato.

L'App TV non memorizza direttamente le impostazioni di controllo parentale. Quando l'utente modifica le impostazioni di controllo parentale, ogni bloccato TvContentRating viene memorizzata dalla TV Input Manager e canali bloccati vengono memorizzati dal fornitore di TV.

L'App TV ha bisogno di dichiarare il permesso android.permission.MODIFY_PARENTAL_CONTROLS al fine di modificare le impostazioni di controllo parentale.

produttori di dispositivi sono invitati a:

  • Esercitare il test di controllo dei genitori CTS Verifier contro l'applicazione di riferimento Live TV per una dimostrazione dei requisiti di compatibilità.
  • Utilizzare l'applicazione Live TV come riferimento per la propria TV App: in particolare, vedere il ContentRatingsManager e RatingSystemsFragment fonte, e come gestire feedback personalizzati.

HDMI-CEC

HDMI-CEC permette un dispositivo per controllare un altro, consentendo in tal modo un unico telecomando per controllare più apparecchi in un teatro domestico. E 'utilizzato da Android TV per impostare la velocità e consentire il controllo a distanza su vari ingressi TV tramite la centrale App TV. Ad esempio, esso può commutare ingressi, accensione o giù dispositivi, e altro ancora.

L'implementa TIF Android HDMI-CEC come il Servizio di controllo HDMI in modo che i produttori di dispositivi semplicemente bisogno di sviluppare driver di basso livello che interagiscono con il leggero Android TV HAL, saltando logica di business più complessa. Nel fornire un'implementazione standard, Android si propone di mitigare i problemi di compatibilità, riducendo implementazioni frammentata e supporto di funzionalità selettivo. Il servizio di controllo HDMI utilizza i servizi di Android esistenti, compresi ingresso e potenza.

Questo mezzo implementazioni HDMI-CEC esistenti dovranno essere riprogettati per interagire con il TIF Android. Si consiglia la piattaforma hardware contiene un microprocessore per ricevere potenza CEC e altri comandi.

integrazione CEC su Android TV
Figura 17. integrazione CEC su Android TV

  1. Il bus CEC riceve un comando dalla sorgente attualmente attiva all'interruttore ad una fonte diversa.
  2. Il driver passa il comando al HDMI-CEC HAL.
  3. L'HAL notifica a tutti gli ActiveSourceChangeListeners .
  4. Il servizio di controllo HDMI viene informato del cambiamento sorgente tramite ActiveSourceChangeListener .
  5. Il servizio Gestione TV ingresso genera un intento per l'App TV per cambiare la sorgente.
  6. L'App TV crea quindi un ingresso TV Manager di sessione per l'essere televisore ingresso su e chiede setMain in quella sessione.
  7. L'ingresso TV Manager Session passa queste informazioni al di ingresso HDMI del televisore.
  8. Le richieste di ingresso HDMI TV per impostare superficie banda laterale.
  9. L'ingresso TV Service Manager genera un corrispondente di routing controllo di comando di nuovo al servizio di controllo HDMI quando la superficie è impostato.

linee guida di integrazione TV

Broadcast app

Poiché ogni paese ha esigenze di trasmissione-specifici (MHEG, Televideo, HbbTV, e più), i produttori sono tenuti a fornire le proprie soluzioni per l'applicazione di trasmissione, ad esempio:

  • MHEG: di stack nativo
  • Televideo: di stack nativo
  • soluzione HbbTV da Vewd Software: HbbTV

Nella release di Android L, Android TV si aspetta che i produttori di dispositivi per sistemi usano gli integratori o le soluzioni Android per pile televisive regionali, passare la superficie per stack software TV, o passare il codice della chiave necessaria per interagire con stack legacy.

Ecco come l'applicazione broadcast e TV App interagiscono:

  1. L'App TV è a fuoco, la ricezione di tutti i tasti.
  2. L'App TV passa tasti (ad esempio tasto rosso) per il dispositivo di input TV.
  3. Il dispositivo di input TV si integra internamente con stack legacy TV.
  4. Alla ricezione di un codice di attivazione (ad esempio il tasto rosso), il dispositivo di input TV attiva applicazioni broadcast.
  5. Un app trasmissione prende fuoco in App TV e gestisce le azioni dell'utente.

Per la ricerca vocale / raccomandazione, l'applicazione di broadcast può sostenere la ricerca in-app per la ricerca vocale.