Google se compromete a avanzar en la equidad racial para las comunidades negras. Ver cómo.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Marco de entrada de TV

icono de Android TV HAL

La entrada del televisor Android Marco (TIF) simplifica la entrega de contenido en vivo a Android TV. El TIF Android proporciona una API estándar para los fabricantes crear módulos de entrada para controlar Android TV, y permite la búsqueda de televisión en directo a través de metadatos y recomendaciones publicadas por la entrada de TV.

El marco no trata de poner en práctica los estándares de televisión o requisitos regionales, pero lo hace más fácil para los fabricantes de dispositivos para cumplir con las normas regionales de transmisión de TV digitales sin re-implementación. La documentación de esta sección también podría ser útil para los desarrolladores de aplicaciones de terceros que deseen crear entradas de TV personalizados.

componentes

La implementación del Marco de entrada de TV Android incluye un Gestor de entrada de TV. El TIF funciona con la aplicación de TV, una aplicación del sistema que no puede ser sustituida por una aplicación de terceros, para el acceso integrado y canales sintonizador IP. La aplicación de televisión se comunica con los módulos de entrada de TV suministrados por el fabricante del dispositivo o de otras partes a través del Gestor de entrada de TV.

La entrada del televisor marco consiste en:

  • Proveedor de TV ( com.android.providers.tv.TvProvider ): una base de datos de canales, programas y permisos asociados
  • Aplicación de TV ( com.android.tv.TvActivity ): la aplicación que la interacción del usuario mangos
  • TV Input Manager ( android.media.tv.TvInputManager ): permite que las entradas de TV para comunicarse con la App de TV
  • Entrada TV: una aplicación que representa sintonizadores físicos o virtuales y los puertos de entrada
  • Entrada de TV HAL ( tv_input módulo): una definición del sistema de hardware que permite entradas de TV para acceder al hardware de televisión específica cuando se implementa
  • Control parental: la tecnología para permitir el bloqueo de canales y programas
  • HDMI-CEC: la tecnología para permitir el control remoto de varios dispositivos a través de HDMI

Estos componentes se tratan en detalle a continuación. Véase el siguiente diagrama para una vista detallada de la arquitectura marco input Android TV.

Visión general de la arquitectura de Android TIF
Entrada Figura 1. Marco de Android TV (TIF), la arquitectura

Fluir

Aquí es cómo se ejerce la arquitectura:

  1. El usuario ve e interactúa con la aplicación de TV, una aplicación del sistema que no puede ser sustituida por una aplicación de terceros.
  2. La App televisor muestra el contenido de AV desde la entrada de TV.
  3. La aplicación de televisión no puede hablar directamente con las entradas de TV. El Gestor de entrada de TV identifica el estado de las entradas de televisión para la aplicación de TV. Ver TV Gestor de entrada de abajo para más detalles acerca de estas limitaciones.

permisos

  • Sólo signatureOrSystem TV Entradas y Aplicación de TV tienen acceso completo a la base de datos de proveedores de televisión y son capaces de recibir KeyEvents.
  • Único sistema de entradas de TV puede acceder a la HAL de entrada de TV a través del servicio Administrador de entrada de TV. Las entradas de televisión se accede a uno-a-uno a través de sesiones de entrada de TV Manager.
  • Terceros televisión entradas tienen acceso a paquetes de enganche a la base de datos de proveedores de televisión y leer / escribir sólo para las filas coincidentes de paquetes.
  • entradas de TV de terceros pueden mostrar tanto su propio contenido o el contenido de las entradas de TV para pasar de un fabricante de dispositivos, como HDMI1. Ellos no pueden mostrar el contenido de entradas de TV no paso a través, como un incorporada o IPTV sintonizador.
  • TV_INPUT_HARDWARE permiso para una aplicación de entrada de TV de hardware, señala la entrada de TV Service Manager para notificar el servicio de entrada de TV en el arranque para llamar a la entrada de TV Service Manager y añadir sus entradas de TV. Este permiso permite a una aplicación de entrada de TV de hardware para soportar múltiples entradas de TV por el servicio de entrada de TV, así como ser capaz de añadir dinámicamente y retirar sus entradas de TV compatibles.

proveedor de TV

La base de datos del proveedor de TV almacena los canales y programas de televisión entradas. El proveedor de televisión también publica y gestiona los permisos asociados a fin de que las entradas de televisión sólo pueden ver sus propios registros. Por ejemplo, una entrada de TV específico puede ver todos los canales y programas que ha suministrado y está prohibido el acceso a canales y programas de televisión cualquier otra entrada.

El proveedor de TV mapea "género de emisión" a "género canónica" internamente. Las entradas de televisión son responsables de poblar "género de emisión" con el valor en el estándar de emisión subyacente, y el campo "género canónica" automáticamente se rellena con el género asociada correcta de android.provider.TvContract.Genres . Por ejemplo, la norma de difusión ATSC A / 65 y el programa con el género 0x25 (que significa “Deportes”), la entrada de TV rellenará el “género de emisión” con la cadena “Deportes” y proveedor de televisión va a llenar el campo “género canónica” con los valores asignados android.provider.TvContract.Genres.SPORTS .

Véase el siguiente diagrama para una vista detallada del proveedor de TV.

Proveedor de Android TV
Proveedor Figura 2. Android TV

Sólo las aplicaciones en la partición del sistema con privilegios pueden leer toda la base de datos del proveedor de TV.

entradas de TV de paso a través no almacenan canales y programas.

Además de los campos estándar para canales y programas, la base de datos del proveedor de TV también ofrece un campo de tipo BLOB, COLUMN_INTERNAL_PROVIDER_DATA , en cada mesa de entradas de TV que puede utilizar para almacenar datos arbitrarios. Que los datos BLOB pueden incluir información personalizada, como la frecuencia del sintonizador asociado, y puede ser proporcionado en un tampón de protocolo u otro formulario. Un campo de búsquedas está disponible para hacer ciertos canales disponibles en la búsqueda (por ejemplo, a los requisitos específicos de país a cumplir para la protección de contenidos).

ejemplos de campo de base de datos

Los soportes proveedor de TV estructuran los datos en el canal ( android.provider.TvContract.Channels ) y (programa android.provider.TvContract.Programs ) mesas. Estas tablas se rellenan y se accede a través de las entradas de televisión y aplicaciones del sistema como la de la televisión. Estas tablas tienen cuatro tipos de campos:

  • Pantalla: Pantalla campos contienen información que las aplicaciones pueden querer hacer visible para el usuario, como el nombre de un canal ( COLUMN_DISPLAY_NAME ) o número ( COLUMN_DISPLAY_NUMBER ), o el título del programa que está viendo.
  • Metadatos: Hay tres campos de identificación de contenido, de acuerdo con las normas pertinentes, como el identificador de un canal de flujo de transporte ( COLUMN_TRANSPORT_STREAM_ID ), ID de red original ( COLUMN_ORIGINAL_NETWORK_ID ) y el ID de servicio ( COLUMN_SERVICE_ID ).
  • Los datos internos: Los campos que son para el uso costumbre de entradas de TV.
    Algunos campos, como COLUMN_INTERNAL_PROVIDER_DATA , son campos BLOB personalizables, donde una entrada de TV puede almacenar metadatos arbitrarias acerca de su canal o programa.
  • Bandera: La bandera de campos representan ya sea un canal deben estar impedidas de búsqueda, exploración, o la visualización. Esto sólo se puede establecer en el nivel del canal. Todos los programas se remiten al entorno en el canal.
    • COLUMN_SEARCHABLE : Restringir la búsqueda de algunos canales puede ser un requisito en ciertas regiones. COLUMN_SEARCHABLE = 0 significa que el canal no debe estar expuesto en los resultados de búsqueda.
    • COLUMN_BROWSABLE : Visible a sólo las aplicaciones del sistema. La restricción de canal de ser navegado por las aplicaciones. COLUMN_BROWSABLE = 0 significa que el canal no debe ser incluido en la lista de canales.
    • COLUMN_LOCKED : Visible a sólo las aplicaciones del sistema. La restricción de canal de ser visto por las cuentas no válidas sin necesidad de introducir el código PIN. COLUMN_LOCKED = 1 significa que el canal debe ser protegida por control parental.

Para una lista más exhaustiva de los campos, consulte android/frameworks/base/media/java/android/media/tv/TvContract.java

Permisos y control de acceso

Todos los campos son visibles para cualquier persona con acceso a la fila correspondiente. No hay campos son directamente accesibles a los usuarios; sólo ven lo que la aplicación de TV, Sistema de aplicaciones, o la superficie de entradas de TV.

  • Cada fila tiene PACKAGE_NAME , el paquete (app) que posee esa fila, comprobado en la consulta, inserción, actualización a través de TvProvider.java. Una entrada de TV puede acceder sólo a la información que escribió y está acordonada de la información proporcionada por otras entradas de TV.
  • READ, permisos de escritura a través de AndroidManifest.xml (requiere el consentimiento del usuario) para determinar los canales disponibles.
  • Sólo signatureOrSystem aplicaciones pueden adquirir ACCESS_ALL_EPG_DATA permiso para acceder a la base de datos.

TV Input Manager

El Gestor de entrada de TV proporciona una API del sistema central en el marco global de entrada Android TV. Se arbitra interacción entre aplicaciones y entradas de TV y proporciona la funcionalidad de control de los padres. sesiones de televisión Gerente de entrada se deben crear uno-a-uno con entradas de TV. El Gestor de entrada de TV permite el acceso a las entradas de TV instalados de modo aplicaciones pueden:

  • Lista de entradas de televisión y comprobar su estado
  • Crear y gestionar sesiones de oyentes

Para las sesiones, una entrada de TV se puede sintonizar por la aplicación de televisión sólo para los URI se ha añadido a la base de datos del proveedor de TV, a excepción de paso a través de entradas de TV que se pueden ajustar a la utilización de TvContract.buildChannelUriForPassthroughInput() . Una entrada de TV también puede tener su conjunto de volúmenes. Las entradas de televisión proporcionados y firmadas por el fabricante del dispositivo (aplicaciones de firma) u otras aplicaciones instaladas en la partición del sistema tendrá acceso a toda la base de datos del proveedor de TV. Este acceso se puede utilizar para aplicaciones de constructo para navegar y buscar a través de todos los canales y programas de televisión disponibles.

Una aplicación puede crear y registrar una TvInputCallback con el android.media.tv.TvInputManager a ser llamado de nuevo cambio de estado de una entrada de TV o en la adición o eliminación de una entrada de TV. Por ejemplo, una aplicación de televisión puede reaccionar cuando una entrada de TV se desconecta mostrándola como desconectado y la prevención de su selección.

El Gestor de entrada de TV abstrae la comunicación entre la App entradas de TV y TV. La interfaz estándar del Gestor de entrada de TV y entrada de TV permite que múltiples fabricantes de dispositivos para crear sus propias aplicaciones de televisión mientras que ayuda a todos los terceros entradas de TV de trabajo en todas las aplicaciones de TV.

Las entradas de televisión

Las entradas de televisión son aplicaciones de Android en el sentido de que tienen un AndroidManifest.xml y se instalan (a través de reproducción, pre-instalado, o transferidos en forma paralela). Android TV soportes pre-instaladas aplicaciones del sistema, las aplicaciones firmadas por el fabricante del dispositivo y de terceros entradas de TV.

Algunas entradas, como la entrada HDMI o una función de entrada del sintonizador, sólo pueden ser proporcionados por el fabricante, ya que hablar directamente con el hardware subyacente. Otros, tales como IPTV, lugar-shifting, y STB externo, pueden ser suministrados por terceros como APK en Google Play Store. Una vez descargado e instalado, la nueva entrada puede seleccionarse dentro de la aplicación de TV.

ejemplo de entrada de paso a través

Entrada Android Sistema de TV
3. Sistema de Entrada Figura Android TV

En este ejemplo, la entrada de televisión proporcionado por el fabricante del dispositivo es de confianza y tiene acceso completo al proveedor de TV. Como una entrada de TV de paso a través, no se registra ningún canales o programas con el proveedor de televisión. Para obtener el URI utiliza para hacer referencia a la entrada de paso a través, utilice el android.media.tv.TvContract método de utilidad buildChannelUriForPassthroughInput(String inputId) . La aplicación de televisión se comunica con el administrador de entrada de TV para llegar a la entrada HDMI de la TV.

Incorporado en el ejemplo sintonizador

Android TV Sintonizador de entrada
Figura 4. Android TV Sintonizador de entrada

En este ejemplo, la entrada Sintonizador de televisión proporcionado por el fabricante del dispositivo es de confianza y tiene acceso completo al proveedor de TV.

Ejemplo de entrada de terceros

de entrada de terceros Android TV
Figura 5. Android TV de entrada de terceros

En este ejemplo, la entrada de STB TV externo es proporcionado por un tercero. Dado que la entrada de TV no puede acceder directamente a la alimentación de vídeo HDMI que entra, tiene que ir a través del Administrador de entrada de TV y utilizar la entrada de TV HDMI proporcionado por el fabricante del dispositivo.

A través del Gestor de entrada de TV, la entrada STB TV externo puede hablar con la entrada HDMI de la TV y pedirle que mostrar el video en HDMI 1. Por lo que la entrada STB TV puede controlar el televisor mientras éste HDMI de entrada proporcionada por el fabricante procesa el vídeo.

Imagen en imagen ejemplo (PIP)

KeyEvents Android TV
KeyEvents Figura 6. Android TV

El diagrama de arriba muestra cómo se transmiten los botones de un mando a distancia para una entrada específica para la televisión de imagen en imagen de pantalla (PIP). Esas pulsaciones de botón son interpretados por el controlador de hardware suministrado por el fabricante del dispositivo, la conversión de códigos de rastreo de hardware para Android códigos de teclas y pasarlos a los estándares Android de tuberías de entrada InputReader y InputDispatcher funciona como KeyEvents . Estos eventos de activación de activar la aplicación de TV si está en foco.

Único sistema de entradas de TV son elegibles para recibir InputEvents , y sólo si tienen el RECEIVE_INPUT_EVENT permiso del sistema. La entrada del televisor es responsable de determinar qué InputEvents consumir y debe permitir la aplicación de televisión para manejar las teclas que no necesita consumir.

La aplicación de televisión es responsable de saber qué entrada de TV del sistema se activa, lo que significa seleccionado por el usuario, y para eliminar la ambigüedad entrantes KeyEvents y encaminarlos a la sesión correcta de entrada de TV Manager, llamando dispatchInputEvent() para transmitir el evento a la entrada de TV asociada .

MHEG-5 ejemplo de entrada

El siguiente diagrama muestra una vista más detallada de cómo KeyEvents se enrutan a través de la TIF Android.

ejemplo botón de Android TV Rojo
Figura ejemplo botón 7. Android TV Red

Representa el flujo de una aplicación de botón rojo, común en Europa para permitir a los usuarios acceder a aplicaciones interactivas en sus televisores. Una aplicación puede ser entregado por este flujo de transporte. Cuando se hace clic en el botón, que permite al usuario interactuar con estas aplicaciones de difusión. Por ejemplo, es posible utilizar estas aplicaciones de difusión relacionados con el acceso a páginas web o los resultados deportivos.

Vea la sección de aplicación de difusión para aprender difusión aplicaciones interactúan con la aplicación de televisión.

En este ejemplo:

  1. La aplicación de televisión está en el foco y recibe todas las claves.
  2. KeyEvents (por ejemplo, el botón rojo) se pasa a la entrada de TV activo como InputEvents.
  3. Las integra sistema de entrada de TV con MHEG-5 pila y tiene la RECEIVE_INPUT_EVENT permiso del sistema.
  4. Al recibir código clave de activación (por ejemplo, el botón rojo), la entrada de TV activa aplicación de difusión.
  5. Entrada de TV consume KeyEvents como InputEvents y la aplicación de difusión es el foco y se ocupa de InputEvents hasta que lo retire.

Nota: Las entradas de televisión de terceros nunca reciben llaves.

TV HAL entrada

El HAL de entrada de TV ayuda a desarrollo de las entradas de televisión para acceder a dispositivos de TV específico. Al igual que con otros HAL Android, la entrada de TV HAL ( tv_input ) está disponible en el árbol de fuentes AOSP y el vendedor desarrolla su aplicación.

Aplicación de TV

El sistema de aplicación de TV presenta contenidos de televisión en directo para el usuario. Una referencia aplicación de TV (TV Live) se proporciona junto a la plataforma Android, que puede ser utilizado como está, personalizado, extendida o sustituido por los fabricantes de dispositivos. El código fuente está disponible en el proyecto de código abierto Android, y se puede empezar a trabajar con él en la aplicación de televisión Referencia artículo.

Los fabricantes de dispositivos pueden extienden sus aplicaciones TV para implementar características fabricante del dispositivo o país-específicos, sin embargo, esto no está en el alcance de TIF o la referencia TV App.

Como mínimo, el sistema de aplicación de TV necesita para manejar las tareas siguientes:

Instalación y configuración

  • Detección automática de entradas de TV
  • Let TV Entradas iniciado configuración de los canales
  • Controlar la configuración de los padres
  • Editar canales

Visita

  • Acceder y navegar por todos los canales de TV
  • Acceso a televisión barra de información del programa
  • Mostrar datos de guía electrónica de programas (EPG)
  • Soporte de múltiples pistas de audio y subtítulos
  • Suministro de control parental desafío PIN
  • Permitir superposición de interfaz de usuario de entrada de TV para el estándar de TV (HbbTV, etc.)
  • Resultados de búsqueda para poblar canales y programas de televisión
  • Pantalla de la aplicación que une las tarjetas
  • API timeshifting apoyo
  • Manejar funcionalidad y soporte API de grabación de TV DVR

Este conjunto de características aumentará en línea con las nuevas versiones de Android, donde se extendían las APIs de la plataforma TIF. CTS Verificador proporciona la cobertura de las pruebas de compatibilidad.

El apoyo a terceros entradas de TV

Android TV proporciona la API para desarrolladores de entradas de TV de terceros, permitiendo a las aplicaciones instaladas para entregar los canales de software en la televisión en directo. Para garantizar una aplicación compatible dispositivo Android, el sistema de aplicación de TV tiene algunas responsabilidades con respecto a la superficie entradas de TV de terceros y canales para el usuario. La aplicación de TV en directo de referencia proporciona una implementación compatible; si va a cambiar el sistema de aplicación de TV, los fabricantes de dispositivos deben asegurar sus propias aplicaciones proporcionan compatibilidad similares, las expectativas se encuentran desarrolladores en todos los dispositivos Android TV.

El sistema de aplicación de TV debe aparecer entradas de terceros además de un servicio de televisión en directo por defecto del dispositivo. La promesa de las API para desarrolladores es que los usuarios serán capaces de encontrar canales (una vez instalado) dentro de su experiencia de TV estándar.

Se deja visual diferenciación entre una función de canales y canales de terceros, como se define en la sección de la aplicación de TV de la DDC Android.

Las siguientes secciones muestran cómo la aplicación Live TV cumple con los requisitos de DDC.

Nueva configuración de canal

La adición de nuevos terceros entradas / canales comienza con la búsqueda del usuario y la instalación de una entrada del televisor desde la tienda de aplicaciones, como Google Play.

Algunas entradas de TV de terceros añaden automáticamente a los canales de la base de datos TvProvider. Sin embargo la mayoría proporcionará una actividad de instalación para que el usuario pueda configurar sus canales, proporcionar datos de acceso, y otras acciones. El sistema de aplicación de TV tiene que garantizar que el usuario puede activar esta actividad de instalación, por lo que el CDD requiere insumos de terceros sean mínimas acciones de navegación de la principal aplicación de televisión.

La aplicación de TV en directo de referencia proporciona el menú Fuentes de canal para el acceso a los insumos.

Ir a la configuración
Figura 8. Ir a la Configuración.

Ir a la fuente de canal en la configuración
Figura 9. Ir a fuentes de canal en la configuración.

Seleccionar la fuente de la lista.
Figura 10. Selección de la Fuente de la lista.

Añadir canales de la fuente
Figura 11. añadir canales de su fuente.

Además se muestra una tarjeta de notificación en la parte superior del menú de la aplicación de TV después de instalar un nuevo TvInput, que llevará al usuario directamente a la instalación:

Convocatoria que da nuevas fuentes de canales están disponibles.
Figura 12. Notificación de que muestra el nuevo fuentes de canales están disponibles.

Si el usuario toma acción a través de la notificación, pueden seleccionar para configurar sus fuentes como se ve en la figura 10.

Ver Definir Su TV Servicio de entrada para las expectativas de los desarrolladores en esta área.

Personalizar la lista de canales

Los fabricantes de dispositivos pueden proporcionar una interfaz de usuario para ocultar ciertos canales y permitir a los usuarios administrar sus propios EPG. TV en directo incluye este servicio.

Abrir la lista de canales en la configuración.
Figura 13. Abrir la lista de canales en la configuración.

Personalizar la lista de canales.
Figura 14. Personalizar su lista de canales.

EPG

desarrolladores de entrada de terceros necesita tener confianza en que los usuarios pueden navegar fácilmente a sus canales durante el uso general, en todos los dispositivos Android TV compatibles.

Canales de insumos de terceros deben ser presentadas como parte del estándar de televisión en directo del dispositivo de EPG. separación visual o categorías separadas para los canales de terceros pueden ser utilizados (ver la sección de la aplicación de TV de la DDC Android) Tecla de -lo que es que los usuarios son capaces de encontrar los canales se han instalado.

Los fabricantes deben implementar la aplicación de televisión para incluir resultados de búsqueda para las solicitudes de búsqueda a nivel mundial con el fin de garantizar la mejor experiencia de usuario. TV en directo proporciona una implementación (ver com.android.tv.search.TvProviderSearch ), que proporciona resultados de insumos de terceros (necesario para la compatibilidad de la plataforma), así como los insumos incorporados.

Cambio de hora

Para los dispositivos en Android 6.0 y anteriores, la aplicación de TV debe ser compatible con el marco Android cambio de tiempo API . Además, los fabricantes deben implementar controles de reproducción en la App TV, que permiten a los usuarios pausar, reanudar, rebobinar y avance rápido de la reproducción.

Para las entradas de televisión que el tiempo de soporte cambio, la aplicación de televisión necesita controles de reproducción de pantalla.

Los controles de reproducción
Controles Figura 15. reproducción

DVR

Para los dispositivos en Android 7.0 y superior, la App de TV debe ser compatible con el Android marco de grabación API de televisión , para apoyar, lista, y reproducir programas grabados.

Esto permite a los fabricantes de dispositivos para tapar sus subsistemas DVR en TIF y reducir drásticamente el esfuerzo de integración que se necesita para activar o integrar la funcionalidad de DVR en un dispositivo de TV. También permite a terceros para la prestación del mercado de accesorios sistemas de DVR que puede ser conectado a un dispositivo Android TV.

Además de grabar el contenido en vivo, la aplicación de televisión también se encarga de conflicto de recursos. Por ejemplo, si el dispositivo tiene dos sintonizadores, puede grabar dos programas al mismo tiempo. Si el usuario pide a grabar tres, la aplicación de televisión debe manejar el conflicto y, o bien debe aparecer una notificación o una solicitud para que los usuario programa una prioridad para estas solicitudes.

Aplicaciones de TV también se puede implementar una lógica más sofisticada como pedirle a un usuario si les gustaría grabar todos los episodios futuros en una serie cuando solicitan para grabar un episodio.

Véase el siguiente diagrama para una visión de una posible implementación de DVR en Android TV.

grabación de vídeo digital en Android TV
Grabación de vídeo digital en la Figura 16. Android TV

  1. El servicio de entrada de TV le dice a la aplicación de TV sintonizadores cuántos están disponibles para que la App TV puede manejar posible conflicto de recursos.
  2. La App TV recibe una petición iniciada por el usuario para grabar un programa de TV.
  3. La aplicación de televisión almacena el programa de grabación en su base de datos interna.
  4. Cuando es el momento de registro, la App de TV pasa una petición para sintonizar el canal asociado con la grabación.
  5. El servicio de entrada de TV recibe esta petición, responde con si o no hay recursos adecuados, y se sintoniza en el canal.
  6. Luego de la aplicación de TV pasa una solicitud para iniciar la grabación al Gestor de entrada de TV.
  7. La entrada de TV Service recibe esta petición y se inicia la grabación.
  8. La entrada del televisor servicio almacena los datos de vídeo real en su almacenamiento, que pueden ser de almacenamiento externo o almacenamiento en la nube.
  9. Cuando sea el momento para terminar la grabación, la aplicación de televisión pasa la solicitud de detener la grabación al Gestor de entrada de TV.
  10. Una vez que la entrada de TV Servicio recibe la petición, se detiene la grabación y añade sus metadatos asociados con el proveedor de televisión por lo que la aplicación de televisión puede mostrar la grabación a los usuarios cuando se le solicite.

Para obtener más información sobre la implementación de grabación ofrece en su servicio de entrada del televisor, consulte este Grabación de TV artículo.

recursos útiles

  • El CDD Android y API para desarrolladores documentados son las referencias definitivas.
  • CTS Verificador ejerce las API como parte del programa de pruebas de compatibilidad. La ejecución de este en contra de TV en directo puede ser una forma útil para ver la EPG, búsqueda, control parental, y otros requisitos en el contexto de los insumos de terceros.
  • Ver Definir Su TV Servicio de entrada para las expectativas de los desarrolladores en esta área.

Control parental

El control parental permite a un bloque de usuario canales y programas no deseada, pero de derivación del bloque mediante la introducción de un código PIN.

La responsabilidad de la funcionalidad de control de los padres se comparte entre la App de TV, servicio de entrada de TV Manager, proveedor de TV y entrada de TV.

El control parental es obligatorio, y está cubierta por CTS Verificador.

Una serie de países han definido sistemas de clasificación que las entradas de televisión pueden utilizar a través de la API TVContentRating . Además, las entradas de televisión pueden registrar sus propios sistemas de clasificación personalizada como lo demuestra la prueba de CTS Verificador, que introduce una calificación de 'falso'. Para los países en los que existe un sistema de clasificación estándar, se anima a los fabricantes de dispositivos para combinar la entrada de TV Marco de Control Parental con cualesquiera otros mecanismos que pueden incluir.

proveedor de TV

Cada fila canal tiene una COLUMN_LOCKED campo que se utiliza para canales específicos de bloqueo de visualización sin necesidad de introducir un código PIN. El campo de programa COLUMN_CONTENT_RATING está destinado para la pantalla y no se utiliza para hacer cumplir el control de los padres.

TV Input Manager

Las Manager almacena de entrada televisión todos los bloqueados TvContentRating y responde a isRatingBlocked() para asesorar si el contenido con la calificación otorgada debe ser bloqueado.

de entrada de TV

Los controles de entrada del televisor si el contenido actual debe ser bloqueado llamando isRatingBlocked() en el Administrador de entrada del televisor cuando la calificación del contenido que se muestra ha cambiado (en el programa o cambio de canal), o ajustes de control paterno han cambiado (en ACTION_BLOCKED_RATINGS_CHANGED y ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED ) . Si el contenido debe ser bloqueado, la entrada de TV desactiva el audio y el vídeo y notifica a la aplicación de televisión que el contenido actual está bloqueado por llamar notifyContentBlocked(TvContentRating) . Si el contenido no debe ser bloqueado, la entrada de TV permite vídeo y notifica a la aplicación de TV el contenido actual se permite llamando audio y notifyContentAllowed() .

Aplicación de TV

En honor a la API de control de los padres, y por lo tanto crear una plataforma compatible, el sistema de aplicación de TV necesita proporcionar una manera para que los usuarios gestionar el control parental, como en todas las clasificaciones personalizados registrados por las aplicaciones específicas.

La aplicación de TV muestra un código PIN interfaz de usuario cuando se notifica por una entrada de TV que el contenido actual está bloqueado o cuando el usuario intenta ver un canal bloqueado.

La aplicación de televisión no almacena directamente los ajustes de control paterno. Cuando el usuario cambia los ajustes de control paterno, todos los bloqueados TvContentRating es almacenada por el Gestor de entrada de TV y canales bloqueados se almacenan por el proveedor de TV.

La aplicación de televisión tiene que declarar el permiso android.permission.MODIFY_PARENTAL_CONTROLS con el fin de cambiar los ajustes de control paterno.

Los fabricantes de dispositivos se les anima a:

  • Ejercer la prueba de control parental CTS Verificador en contra de la aplicación de TV en directo de referencia para una demostración de los requisitos de compatibilidad.
  • Utilizar la aplicación de TV en directo como referencia para sus propias aplicaciones de TV: en particular, ver la ContentRatingsManager y RatingSystemsFragment fuente, y cómo manejan personalizado de calificaciones.

HDMI-CEC

HDMI-CEC permite controlar un dispositivo a otro, lo que permite un único mando a distancia para controlar varios aparatos en un cine en casa. Se utiliza de Android TV para configurar la velocidad y permite el control a distancia a través de varias entradas de TV a través de la App central de la televisión. Por ejemplo, puede cambiar las entradas, el encendido o dispositivos abajo, y mucho más.

El implementos Android TIF HDMI-CEC como el Servicio de Control HDMI para que los fabricantes de dispositivos sólo necesitan desarrollar controladores de bajo nivel que interactúan con el peso ligero Android TV HAL, saltándose la lógica de negocio más complejo. Al proporcionar una implementación estándar, Android busca mitigar los problemas de compatibilidad mediante la reducción de las implementaciones fragmentado y soporte de las funciones selectiva. El Servicio de Control HDMI utiliza los servicios de Android existentes, incluyendo entrada y la potencia.

Este medio de implementaciones HDMI-CEC existentes tendrán que ser rediseñados para interoperar con el TIF Android. Recomendamos la plataforma de hardware contiene un microprocesador para recibir el poder de la CCA sobre y otros comandos.

la integración CCA en Android TV
Figura 17. integración CEC en Android TV

  1. El bus CEC recibe un comando de la fuente activa en ese momento para cambiar a una fuente diferente.
  2. El conductor pasa el mando a la toma HDMI-CEC HAL.
  3. El HAL notifica a todos los ActiveSourceChangeListeners .
  4. El servicio de control de HDMI es notificado del cambio a través de la fuente ActiveSourceChangeListener .
  5. El servicio Administrador de entrada de TV genera una intención para la aplicación de televisión para cambiar la fuente.
  6. La aplicación de televisión crea entonces una entrada de TV Session Manager para el bienestar de entrada de TV cambia a y llamadas setMain en esa sesión.
  7. La entrada del televisor Session Manager pasa esta información a la entrada HDMI de la TV.
  8. Las solicitudes de entrada HDMI TV Para configurar la superficie de la banda lateral.
  9. La entrada de TV Service Manager genera una copia de comando correspondiente control de enrutamiento de Servicio de Control HDMI cuando se establece la superficie.

directrices de integración TV

Broadcast aplicación

Debido a que cada país tiene requisitos específicos de difusión (MHEG, teletexto, HbbTV, y más), se espera que los fabricantes para suministrar sus propias soluciones para la aplicación de difusión, por ejemplo:

  • MHEG: pila nativa
  • Teletexto: pila nativa
  • HbbTV solución de Vewd software: HbbTV

En el comunicado de L Android, Android TV espera que los fabricantes de dispositivos a los integradores de sistemas de uso o las soluciones de Android para pilas de televisión regionales, pasar a la superficie de las pilas de software de televisión, o pasar el código de la llave necesaria para interactuar con las pilas de legado.

Así es como interactúan la aplicación de difusión y aplicación de TV:

  1. La aplicación de televisión está en el foco, recibiendo todas las claves.
  2. La aplicación de TV pasa teclas (por ejemplo, botón rojo) al dispositivo de entrada de TV.
  3. El dispositivo de entrada de TV se integra internamente con la pila legado de televisión.
  4. Al recibir un código clave de activación (por ejemplo, botón rojo), el dispositivo de entrada de TV activa aplicaciones de difusión.
  5. Una aplicación de difusión toma el foco en la App televisión y se ocupa de las acciones del usuario.

Para la búsqueda de voz / recomendación, la aplicación de radiodifusión puede apoyar a buscar en la aplicación de búsqueda por voz.