Para cada versión nueva de Google Cast que se lanza, los cambios se describen a continuación y se actualizan las referencias de la API. Para ver los cambios en la lista de tareas de diseño, consulta su registro de cambios.
28 de octubre de 2024
Android Sender 22.0.0 y Android TV Receiver 21.1.1
- Se corrigió una posible vulnerabilidad de denegación del servicio que se encontraba en la biblioteca de Java Lite de Protobuf.
- Se borró MediaNotificationService. Las aplicaciones no deben usarlo directamente.
- Corrige un error en dispositivos con Android R o versiones anteriores por el cual intentar mostrar una imagen demasiado pequeña en una notificación de Google Cast puede provocar una falla de la IU del sistema.
4 de septiembre de 2024 1 de noviembre de 2024
Receptor web 3.0.0133 3.0.0135 3.0.0137
- La versión predeterminada de Shaka Player que usa CAF se actualiza de 4.3.4 a 4.9.2. Consulta el changelog de Shaka Player para obtener una lista completa de los cambios.
- Se habilitó la carga previa de contenido para el reproductor Shaka. Esto permite cambiar sin problemas entre elementos multimedia o pausas publicitarias.
- Se corrigieron los errores causados por el cambio de códecs de Shaka.
- Se agregó un nuevo campo
ErrorSeverity
para los errores de Shaka. Si la gravedad esRECOVERABLE
, la reproducción no debería detenerse. - Se corrigió un error de carga de contenido para solicitudes de carga simultáneas.
- De forma interna, CAF ahora usa
shaka.Player#attach
para adjuntar un elemento multimedia en lugar de pasarlo al constructorshaka.Player
(obsoleto en la API de Shaka). - Se agregaron los campos
frameType
yframeDescription
acast.framework.events.Id3Event
. Estos campos se completan cuando se usa Shaka Player para la reproducción. - Se agregaron los eventos
REQUEST_GET_STATUS
yREQUEST_PRELOAD
. Esos eventos se pueden escuchar conPlayerManager#addEventListener
. - Se agregó una respuesta de error para las solicitudes de carga con un
requestId
incorrecto en lugar de fallar de forma silenciosa. - Se corrigió el registro de advertencia para la configuración de
jumpLargeGaps
de Shaka Player, que dejó de estar disponible en la versión 4 de Shaka. - Se comenzó a propagar
requestId
en el mensajeMediaStatus
para un estadoLOADING
. - Recicla la instancia del reproductor de Shaka cuando cargues contenido nuevo.
- Se interrumpió la compatibilidad con el comando multimedia
QUEUE_SHUFFLE
obsoleto. UsaQUEUE_UPDATE
en su lugar. - Se corrigió la compatibilidad con grupos de anuncios de VAST en los que cada etiqueta
<Ad>
tiene un atributosequence
y una etiqueta<Wrapper>
anidada. - Se corrigió la propagación del atributo
crossorigin
sin un valor de<cast-media-player>
al elemento<video>
anidado. - Se expone el idioma de audio en la banda en MPL.
22 de agosto de 2024
iOS Sender 4.8.3
- Se corrigió un error por el que el botón para transmitir no abría el selector del dispositivo al recibir un toque.
- Se corrigió una falla que afectaba a los dispositivos con iOS 17 y versiones posteriores relacionada con AVRouting.
18 de abril de 2024
iOS Sender 4.8.1
- La versión mínima compatible con el SDK de Cast ahora es iOS 14.
- Manifiesto de privacidad incluido en el paquete junto con el xcframework firmado.
- El modo de invitado dejó de estar disponible y se quitó. Habrá una sola variante de SDK disponible para la integración a partir de esta versión.
- Se corrigió una falla que se producía si a veces se reproducía un anuncio corto durante una transmisión.
11 de diciembre de 2023
Receptor web 3.0.0122
- Se agregó compatibilidad con grupos de anuncios y Ad Buffet para VAST.
- Se actualizó la IU de los controles multimedia del reproductor de Cast para dispositivos Google TV.
- Se agregó un nuevo campo
audioTrackInfo
al objetoTrack
. - Se agregó
cast.framework.system.Message
, que representa un mensaje recibido de un remitente o enviado a él. - Se cambió la lógica de la pausa de búsqueda. Ahora, el receptor web crea una pausa
seek-{timestamp}
sintética solo cuando se muestra más de 1 pausa deBreakManager#setBreakSeekInterceptor
; de lo contrario, la pausa de búsqueda sigue siendo igual a la pausa original en un cronograma. - Se agregó la opción
CastReceiverOptions#shakaVariant
para cargar versiones de depuración de Shaka Player en CAF. -
Se corrigió el hecho de que no se reconocen
PlaybackConfig#licenseRequestHandler
yPlaybackConfig#licenseResponseHandler
con Shaka para HLS cuando se usa la encriptación AES-128. - Se corrigió que
ID3Event
no se activara cuando se usaba Shaka Player. - Se corrigieron las pistas de texto transferidas paralelamente cuando se usan anuncios previos al video.
- Se corrigió la renderización de texto cuando se usa
UITextDisplayer
. - Se corrigieron varios problemas de distinción entre mayúsculas y minúsculas para VAST, tipos de MIME y nombres de sistema de protección de contenido.
- Se corrigieron varios problemas relacionados con los subtítulos forzados.
- Se corrigió la propagación de códigos
EndedReason
para eventosBREAK_CLIP_ENDED
.
4 de diciembre de 2023
Android Sender 21.4.0 y Android TV Receiver 21.0.1
-
Se lanzaron play-services-cast:21.4.0 y play-services-cast-framework:21.4.0
- Se aumentó minSdkVersion de 16 a 19.
-
Se actualizó para depender de androidx.mediarouter:mediarouter:1.6.0-beta01. De esta manera,
MediaRouteButtons
siempre será visible de forma predeterminada. lo que permitió reducir los casos en los que la detección de dispositivos de transmisión se inicia automáticamente sin acción del usuario. -
Se agregó
CastOptions.Builder#setSessionTransferEnabled
para establecer si la aplicación del remitente debe mostrar dispositivos de transmisión cuando el selector de salida está habilitado. El valor predeterminado es verdadero. -
Ya no se crean
MediaSessions
cuando las apps no configuranCastMediaOptions
ni establecen CastMediaOptions en nulo. -
Se corrigió un error
android.view.InflateException
MiniControllerFragment
que se podía producir cuando se usabaFragmentContainerViews
. -
Se agregaron versiones nuevas de
CastButtonFactory#setUpMediaRouteButton
que devuelvenTasks
que las apps pueden escuchar para detectar si se realizó correctamente o si se produjo una excepción. Las versiones anteriores que no tengan un argumentoExecutor
ignorarán ModuleAvailableExceptions y fallarán de forma silenciosa.
-
Se lanzó play-services-cast-tv:21.0.1
- Se aumentó minSdkVersion de 16 a 19.
- Esta versión incluye mejoras de calidad
20 de julio de 2023
iOS Sender 4.8.0
- Ahora la versión mínima compatible con el SDK de iOS es iOS 13.
- Primera versión estable de XCFramework.
- XCFrameworks está disponible a través de CocoaPods.
- Se restableció la funcionalidad para controlar el volumen con los botones de volumen físicos durante la reproducción de contenido multimedia.
- El botón de transmisión ahora respeta el color de tono cuando se usa en una barra de navegación.
- El color del título de navegación ahora se puede personalizar con la API de GCKUIStyle.
- Se solucionó el problema de la barra de navegación transparente en la vista de lista de subtítulos de pistas multimedia.
- Se corrigió una falla en la versión beta de XCFramework.
- Se agregó una API para vincular un UIControl con acciones de avance o retroceso.
- Se agregó compatibilidad con la transmisión de tablets Pixel.
6 de julio de 2023
Receptor web 3.0.0111
-
Se agregó compatibilidad con la inserción de anuncios dinámicos mediante
BreakManager
addBreak(breakData, breakClips, broadCastMediaStatus)
yremoveBreakById(breakId)
. -
Se agregó el análisis de cadenas
Subtype
a los manifiestos de Smooth. -
Se agregó compatibilidad con solicitudes asíncronas en
manifestRequestHandler
,segmentRequestHandler
ylicenseRequestHandler
para Shaka Player. - Se agregó compatibilidad con subtítulos forzados.
- Se modificó la versión predeterminada de Shaka para CAF a la versión 4.3.4.
-
Se aclaró la descripción del parámetro
setActiveByIds
. - Se corrigió la forma en que CAF elige pistas de audio distintas.
- Se corrigieron las conversiones de tipo de cuerpo de la solicitud para los filtros de solicitud de Shaka.
-
Se agregó la capacidad de consultar
CreativeInformation
relacionada con unBreakClip
enBreakManager
getCreativeInfoByClipId(breakClipId)
. - Se corrigieron los metadatos multimedia que faltaban durante la carga del elemento multimedia en dispositivos controlados por el mando de pad direccional.
-
Se agregaron las propiedades
hlsSegmentFormat
yhlsVideoSegmentFormat
aBreakClip
. - Se corrigieron las comparaciones de tipos de MIME que distinguen entre mayúsculas y minúsculas con MPL.
- Se corrigió el almacenamiento en búfer infinito de HLS (basado en TS) en vivo durante la carga con Shaka Player.
-
Se corrigió el comportamiento de
PlayerDataBinder
para el eventoIS_AT_LIVE_EDGE_CHANGED
. - Se corrigió el bucle infinito en los datos insuficientes proporcionados en segmentos de TS con MPL.
-
Se agregó
error.stack
para los errores de Shaka Player. -
Se cambió para usar el campo
audioMimeType
en lugar deaudioCodec
del objeto de pista de Shaka Player para propagar el campocast.framework.messages.Track.trackContentType
para las pistas de variantes. -
Se agregó
shaka.extern.track.label
acast.framework.messages.Track.name
para las pistas del reproductor de Shaka. -
Se expandió el objeto
cast.framework.stats.Stats
para tener en cuenta los campos existentes enshaka.extern.Stats
. - Se corrigieron los cálculos del tiempo de contenido multimedia para el contenido con pausas incorporadas expandidas.
28 de marzo de 2023
Android Sender 21.3.0 y Android TV Receiver 21.0.0
-
Se lanzaron play-services-cast:21.3.0 y play-services-cast-framework:21.3.0
-
Ahora se usa
NotificationManager
para publicar notificaciones multimedia de Cast en lugar deForeground Service
. -
Se agregó un nuevo
CastReasonCodes#CAST_CANCELLED
para indicar que se cancelan las sesiones de Cast.
-
Ahora se usa
-
Lanzamiento de play-services-cast-tv:21.0.0
- Se corrigió la anotación de nulidad para
MediaManager
.
- Se corrigió la anotación de nulidad para
17 de octubre de 2022
Web Receiver 3.0.0105
- Se actualizó el reproductor Shaka a la versión 3.2.11.
-
Se agregó
cast.framework.PlaybackConfig#enableUITextDisplayer
para renderizar subtítulos en Shaka Player mediante el DOM. -
Se agregaron
cast.framework.CastReceiverOptions#shakaVersion
ycast.framework.CastReceiverOptions#useShakaForHls
para permitir que los receptores usen Shaka Player para la reproducción HLS. -
PlaybackConfig#manifestHandler
,PlaybackConfig#segmentHandler
yPlaybackConfig#licenseHandler
ahora pueden acceder a los encabezados de respuesta HTTP. -
Se agregó
customData
aCommandAndControlManager#ErrorResponseData
cuando el mensajeLOAD_BY_ENTITY
se resuelve con un error.
10 de octubre de 2022
Android Sender 21.2.0
-
Lanzamiento de play-services-cast:21.2.0 y play-services-cast-framework:21.2.0
-
Se agregó la función
Output Switcher
. -
Se agregó una nueva API
Cast.Listener#onDeviceNameChanged()
para notificar el cambio de nombre del dispositivo parastream transfer
. -
Se dieron de baja
CastOptions.Builder#setVolumeDeltaBeforeIceCreamSandwich(double)
yCastOptions#getVolumeDeltaBeforeIceCreamSandwich()
. -
Se corrigió
ForegroundServiceStartNotAllowedException
conMediaNotificationService
. -
Se actualizó
MediaNotificationService
conMedia controls in System UI
. -
Se actualizaron las APIs de
RemoteMediaClient
para que admitancustomData
anulable. -
Se actualizó
MediaInfo.Builder
para que aceptecontentId
ocontentURL
. -
Se actualizó
ImagePicker#onPickImage
para aceptarMediaMetadata
con valores nulos. -
Se actualizó la dependencia
com.google.android.datatransport:transport-api
a la versión más reciente.
-
Se agregó la función
8 de agosto de 2022
Android Sender 21.1.0 y Android TV Receiver 20.0.0
-
Lanzamiento de play-services-cast:21.1.0 y play-services-cast-framework:21.1.0
-
CastContext#getSharedInstance(Context)
quedó obsoleto. En su lugar, usaCastContext#getSharedInstance(Context, Executor)
, que muestra una API de Task, yModuleUnavailableException
para controlar la excepción cuando el SDK de Cast no carga el módulo interno de Cast. -
ApplicationMetadata#getImages()
quedó obsoleto. En su lugar, usaApplicationMetadata#getIconUrl()
, que muestra la imagen de la aplicación que se configuró en Play Console de Cast. -
Se corrigió un error de
ConcurrentModificationException
que podía ocurrir cuando se registraba y se anulaba el registro deMediaQueue.Callbacks
. -
Se corrigió
MediaInfo#getStreamDuration()
para las transmisiones en vivo. -
Se corrigieron las restricciones del trampolín de notificaciones para
MediaNotificationService
en Android S. -
Se corrigió el problema por el que
CastContext
filtraba la referencia a la actividad. - Se corrigió un error por el que se mostraba una imagen de fondo nítida durante un anuncio en lugar de una versión desenfocada.
-
-
Lanzamiento de play-services-cast-tv:20.0.0
- Se aumentó el valor de
minSdkVersion
de 14 a 16. -
Se corrigió un problema con
MediaManager#setSessionCompatToken(MediaSession.CompatToken)
en el que no se admitía correctamente un argumento nulo.
- Se aumentó el valor de
31 de marzo de 2022
Web Receiver 3.0.0103, MPL Player 1.0.0.113
- Se actualizó la versión predeterminada de Shaka Player a la 3.2.2.
-
Se agregó una nueva API,
cast.framework.PlaybackConfig#shakaConfig
, para permitir anular la versión de Shaka Player y otras opciones de Shaka. -
Se agregó una nueva API,
cast.framework.ui.Controls#hasMediaControlsOverlay()
, para consultar si la superposición de control multimedia se renderiza sobre su aplicación. -
Se agregó un estilo nuevo,
cast.framework.ui.ControlsButton.LIKE_HEART
, para la acción del usuario "Me gusta". -
El valor
currentMediaTime
de los datos del eventocast.framework.events.EventType.BREAK_CLIP_ENDED
ahora representa la hora actual del clip de pausa más reciente en el momento en que ocurrió el evento. -
Se agregó un método
cast.framework.PlayerManager#getRawCurrentTimeSec
que muestra el tiempo multimedia del elemento multimedia. -
Se agregó
cast.framework.NetworkRequestInfo#timeoutInterval
para especificar el tiempo de espera de solicitudes HTTP para las solicitudes del reproductor. - Se corrigieron errores de MPL en la decodificación de subtítulos CEA 608/708 para transmisiones A/V desmuxizadas.
- Se corrigió la lógica de análisis de la marca de tiempo de MPL WebVTT para aceptar más de 2 dígitos para el valor de las horas.
9 de diciembre de 2021
Android Sender 21.0.0
- Se agregó mejor compatibilidad con la nulabilidad para Kotlin, ya que las infracciones de seguridad contra valores nulos se convierten en errores. Los desarrolladores de Java no verán ningún impacto. Es posible que los desarrolladores de Kotlin vean nuevas fallas de compilación si tienen código existente que no era seguro para nulos.
19 de noviembre de 2021
Enviador para iOS 4.7.0
- Se corrigió la compatibilidad con remitentes de iOS para el uso de credenciales de ATV con Cast Connect.
- Se corrigió un error por el que las barras de navegación tenían fondos transparentes cuando se compilaba con Xcode 13.
-
Se corrigieron los problemas de accesibilidad informados con
GCKUICastButton.
. - Se corrigió un error por el que al cambiar entre Wi-Fi y datos móviles se desconectaba una sesión de transmisión en lugar de suspenderla.
- Se dio de baja la compatibilidad con iOS10 y iOS11 y, como consecuencia, compatibilidad con arquitecturas de 32 bits.
- Se corrigieron otros errores y se mejoró el rendimiento.
16 de noviembre de 2021
Android Sender 20.1.0
- Nota: Las apps que se orientan a Android 12 deben actualizarse a Android Sender 20.1.0 para evitar fallas del entorno de ejecución.
- Mejoras en las colas
-
Se agregó una nueva devolución de llamada de
itemsReorderedAtIndexes
a MediaQueue a la que se llama cuando se vuelve a ordenar la cola. - Se agregó compatibilidad para la serialización de comandos de cola.
-
Se hizo anulable el parámetro
customData
enRemoteMediaClient#queueSetRepeatMode
. - La función de pantalla remota dejó de estar disponible.
- Se subió la cantidad de
minSdkVersion
de 14 a 16.
26 de octubre de 2021
Receptor web 3.0.0102
- Actualiza al reproductor Shaka v3.0.13 (que, a su vez, corrige varios problemas informados anteriormente).
- Se agregó compatibilidad con imágenes secundarias en pantallas inteligentes y Chromecasts.
- Se solucionó un problema por el que no se mostraban los subtítulos en las transmisiones almacenadas en búfer debido a un error en la lógica que se usaba para detectar pistas duplicadas.
-
Se solucionó un problema por el que no se activaba la devolución de llamada de error del receptor cuando
LOAD_BY_ENTITY
mostraba un error. - Se agregó compatibilidad con códecs de audio AAC (HE-AAC) de alta eficiencia para transmisiones de transporte.
-
Se corrigió un error por el que
PlayerManager.getStats()
no mostraba los valores correctos de altura y ancho. -
Se quitó la información de VAST y VMAP de los mensajes
MediaStatus
para evitar desbordamientos que pueden provocar que un remitente se desconecte del receptor. -
Se solucionó un problema por el que no se proporcionaba
endedReason
al remitente cuando se omitían los anuncios. - Se solucionó un problema por el que se quitaban las pausas publicitarias de la cola de carga antes de la reproducción.
-
Se agregó un nuevo campo
cast.framework.message.QueueChange#reorderItemIds
que contiene la lista de elementos de la cola afectados por la operaciónQUEUE_CHANGE
. - Se redujo el almacenamiento en búfer en las transmisiones en vivo de HLS en MPL cuando se cambia entre pistas de audio, de modo que el audio y el video ahora permanecen sincronizados.
- Se corrigió el análisis de transmisiones HLS en MPL con subtítulos CEA608/CEA708 incorporados.
- Los controles multimedia de Chromecast con Google TV se ocultarán cuando se pause el contenido multimedia durante más de 5 segundos.
26 de mayo de 2021
iOS Sender 4.6.1
- Se solucionó un problema por el que se suspendían las sesiones de Cast en segundo plano para las aplicaciones que permiten la ejecución en segundo plano.
17 de mayo de 2021
Sender para iOS 4.6.0
- Se cambió el comportamiento predeterminado del botón Transmitir para que siempre se muestre cuando se conecte a una red Wi-Fi.
- Se agregó un nuevo diálogo de ayuda que se muestra cuando el usuario presiona el botón para transmitir y no se encuentran dispositivos.
-
La API de
GCKUICastButton::triggersDefaultCastDialog
dejó de estar disponible. -
Se agregó compatibilidad más uniforme para la personalización de diálogos para aquellas apps que implementan una IU personalizada a través de la nueva API de
GCKUICastButtonDelegate
. - Se agregó compatibilidad con el modo oscuro para iOS 13 y versiones posteriores.
-
Se agregó la personalización de marcadores de anuncios a
GCKUIStyleAttributes
. -
Se agregó compatibilidad con
hlsSegmentFormat
yhlsVideoSegmentFormat
al contenido multimedia. - Corrección de errores y mejoras en el rendimiento.
29 de abril de 2021
Receptor web 3.0.0096
20 de abril de 2021
Android Sender 20.0.0 y Android TV Receiver 18.0.0
-
Se lanzaron play-services-cast:20.0.0 y play-services-cast-framework:20.0.0.
- Se borraron GameManager y las APIs relacionadas. Están obsoletos en 2017.
-
Se agregó la clase
SessionState
a la biblioteca cliente de Cast. -
Se agregó
CastReasonCodes
para proporcionar explicaciones detalladas deCastStatusCodes
. Usa el métodoCastContext#getCastReasonCodeForCastStatusCode(int)
para traducir delCastStatusCodes
alCastReasonCodes
. -
Se agregaron
HlsSegmentFormat
yHlsVideoSegmentFormat
aMediaInfo.Builder
. -
Se marcó el
foregroundServiceType
deMediaNotificationService
comomediaPlayback
. -
Se actualizaron las dependencias de
com.google.android.datatransport:transport-api
a la versión más reciente. -
Se agregó un constructor
MediaLoadRequestData.Builder
para compilar a partir de un objetoMediaLoadRequestData
. - Se solucionó un problema con el botón de reproducción/pausa en el reproductor en miniatura cuando se cambiaba de VOD a la transmisión EN VIVO.
-
Se implementó el
MediaIntentReceiver#ACTION_DISCONNECT
para las notificaciones de transmisión de contenido multimedia.
-
Lanzamiento de play-services-cast-tv:18.0.0:
-
Se agregaron las clases
StoreSessionRequestData
yStoreSessionResponseData
a la biblioteca de Cast-tv.
-
Se agregaron las clases
5 de abril de 2021
Receptor web 3.0.0095
- Se actualizó Shaka Player a la versión 3.0.10.
-
El botón para transmitir ahora se muestra de forma predeterminada cuando se admite el comando multimedia
STREAM_TRANSFER
. - Se agregó la barra de sugerencias a la parte inferior de la IU de exploración multimedia. La barra de sugerencias contiene chips interactivos que, cuando se seleccionan, pueden reproducir un elemento multimedia o desplazarse por los elementos multimedia disponibles. Cada chip también se asigna a un comando disponible del Asistente de Google. Actualmente, los chips de sugerencias solo se admiten cuando el idioma del sistema está configurado en inglés o japonés.
- Se solucionó un error en Chromecast con Google TV que causaba que se mostrara la superposición de controles multimedia cuando se transmitía contenido de fotos al receptor predeterminado.
- Se agregó compatibilidad con el evento
TRACKS_CHANGED
.
18 de diciembre de 2020
Receptor web 3.0.0085
-
Se agregaron opciones a
CastReceiverOptions
para inhabilitar la carga de Shaka y MPL.
3 de diciembre de 2020
Sender para iOS 4.5.3
-
Se corrigió el error de tiempo de carga "Símbolos no definidos para la arquitectura arm64" de
GCKCredentialsData
. -
Se corrigió un error del compilador para conflictos de nulabilidad en
GCKCredentialsData
. -
Ahora se registran mensajes de advertencia si faltan las entradas de servicio de Bonjour obligatorias en
Info.plist
.
4 de noviembre de 2020
Enviador para iOS 4.5.2
-
Se actualizó la versión mínima de la biblioteca
Protobuf
a 3.13 en CocoaPods. El uso de versiones anteriores deProtobuf
provocará que el SDK falle. - Esta versión es exclusiva de CocoaPods y usa el mismo binario que la v4.5.1.
13 de octubre de 2020
iOS Sender 4.5.1
-
Se solucionó un problema por el que
GCKUICastButton
con un selector de dispositivos personalizado no se actualizaba para reflejar el estado correcto de transmisión. - Se corrigió la advertencia de "Conflicting nullability specifier on return types".
14 de septiembre de 2020
Receptor web
- Se actualizó Shaka Player a la versión 2.5.16.
iOS Sender 4.5.0
- Se agregó compatibilidad con los cambios de descubrimiento de dispositivos Cast en iOS 14, que requiere permiso explícito del usuario cuando se transmite por primera vez. Consulta Cómo transmitir por primera vez en iOS 14 para obtener más información.
- Se actualizó la compatibilidad mínima del SDK a iOS 10.
8 de septiembre de 2020
Remitente web
- Se introdujo Cast Connect, que permite que las apps de Chrome transmitan a apps de Android TV. Para obtener más información, consulta la documentación del receptor de Android TV.
31 de agosto de 2020
Receptor web
- Se agregó compatibilidad con #EXT-X-DATERANGE en HLS/EventStream en DASH.
3 de agosto de 2020
Remitente de iOS 4.4.8
- Se agregó Cast Connect, que permite que las apps para iOS transmitan a apps de Android TV. Para obtener más información, consulta la documentación de Android TV Receiver.
29 de julio de 2020
Android Sender 19.0.0 y Android TV Receiver 17.0.0
-
Se agregó Cast Connect, que permite que las apps de Android TV cumplan con el protocolo de transmisión para que se comporten como apps receptoras. Para obtener más información, consulta la documentación de Android TV Receiver.
- Se lanzó play-services-cast-tv:17.0.0 como el SDK del receptor para las apps de Android TV.
- Se lanzaron play-services-cast:19.0.0 y play-services-cast-framework:19.0.0, incluidas las APIs de remitente de Cast Connect y las APIs que usa play-services-cast-tv.
-
Actualizaciones de la API:
-
AdBreakStatus#AD_BREAK_CLIP_NOT_SKIPPABLE
dejó de estar disponible. UsaAdBreakClipInfo#AD_BREAK_CLIP_NOT_SKIPPABLE
en su lugar. -
Se cambió el nombre de
CastRemoteDisplayLocalService#getDisplay()
aCastRemoteDisplayLocalService#getCastRemoteDisplay()
para evitar un conflicto de API en Android 11. -
Se agregaron
getCustomData()
ygetType()
enMediaError
. -
Se agregaron constantes de bits de comandos compatibles detalladas (
MediaStatus#COMMAND_*
) enMediaStatus
. -
Se expuso
MediaTrack#getRoles()
. -
Se expuso
RemoteMediaClient.Callback#onMediaError()
.
-
13 de julio de 2020
Receptor web
- Se mejoró la detección de categorías de medios de la IU predeterminada (video frente a audio).
- Se agregó compatibilidad con la hora absoluta en vivo desde Shaka Player.
- Se corrigió un problema con fallas de audio en dispositivos Nest Hub Max.
- Se actualizó Shaka Player a la versión 2.5.12.
4 de mayo de 2020
Receptor web
- Ahora se pueden configurar los valores de tiempo de espera para los comandos de Asistente de Google.
- Los códigos de error de MPL detallados ahora se exponen en los eventos de error.
-
Los comandos multimedia compatibles ahora se pueden aplicar con la marca
enforceSupportedCommands
. - Se corrigieron los comandos compatibles que se informaban durante una pausa en la reproducción.
- Se solucionó un problema con una solicitud de carga aleatoria de Asistente.
- Se corrigió un error en los valores de
getStats
.
12 de marzo de 2020
Receptor web
-
Se agregó una nueva función de dispositivo
IS_CBCS_SUPPORTED
adeviceCapabilities
. - Se actualizó Shaka Player a la versión 2.5.8.
27 de febrero de 2020
Enviador para iOS v4.4.7
- Se corrigieron los botones de volumen físicos para las apps que no usan ningún componente de la IU del SDK.
-
Se solucionó un problema con la etiqueta
currentTime
en el control expandido cuando se presionaban repetidamente los botones para avanzar o retroceder. -
Los elementos multimedia de
GCKMediaQueue
se conservan después de que la app pasa al segundo plano. -
Actualizaciones de personalización de la IU:
- La barra de progreso del minicontrolador ahora es personalizable.
- Ahora se puede personalizar el color de fondo de la barra de navegación y la barra de herramientas del diálogo de Cast.
- Se corrigieron problemas de la IU específicos del iPhone X.
- Se corrigieron algunos problemas que provocaban bloqueos y fallas.
24 de febrero de 2020
Android Sender 18.1.0
-
Se agregaron constantes predefinidas para los códigos de error detallados y las razones de error de
MediaError
.
22 de enero de 2020
Receptor web
- Se solucionó un problema por el que se transmitían varios estados de contenido multimedia cuando se cambiaban los comandos compatibles.
Receptor v2
- Se mejoró la selección de la tasa de bits para los anuncios VAST.
MPL
- Se agregó compatibilidad con la carga previa de claves de sesión. Consulta el borrador de la 2ª edición de HTTP Live Streaming para obtener más información.
7 de enero de 2020
Receptor web
-
Se agregó compatibilidad con metadatos de tiempo ID3 en
cast.framework.events.EmsgEvent
. Además,EmsgEvent
ahora se despacha para el contenido HLS/CMAF. -
Se solucionó un problema por el que faltaban datos del reproductor durante
PLAYER_LOAD_COMPLETE
cuando se realizaba la transición a una nueva sesión de contenido multimedia. - Se solucionó un problema por el que el ícono de contenido multimedia se superponía con el número y la cuenta regresiva del clip de pausa.
- Se solucionó el problema por el que la cuenta regresiva del primer clip de pausa siempre se mostraba 0:00.
- Se actualizó Shaka Player a la versión 2.5.6.
Receptor web v2
-
Se agregó la nueva capability del dispositivo
IS_DEVICE_REGISTERED
adeviceCapabilities
. Si se configura, el dispositivo Cast se registra en Play Console de Cast para la depuración. - Se solucionó un problema de demora en la carga.
- Ahora se envían mensajes individuales de error de contenido multimedia por cada elemento con errores de la cola.
MPL
- Se solucionó un problema con las transmisiones en vivo en las que el audio seguía reproduciéndose durante un tiempo después de que se recibía un mensaje de detención.
- Se solucionó un problema por el que se mostraban los artefactos de compresión de video durante los cambios de nivel de calidad.
- Se solucionó un problema por el que fallaban las transmisiones HLS que usaban segmentos *.m4s.
5 de diciembre de 2019
Android Sender 18.0.0
-
Se agregó
setMediaSessionEnabled
para que los desarrolladores habiliten o inhabiliten una sesión multimedia creada por el SDK de Cast. - Se cambió la forma en que se muestran las notificaciones multimedia durante una sesión de transmisión. Si la notificación multimedia está habilitada, siempre se mostrará durante una sesión de transmisión. Anteriormente, solo se mostraba cuando la app estaba en segundo plano.
-
Se cambiaron algunas clases relacionadas con el contenido multimedia para implementar una interfaz
Parcelable
.
11 de noviembre de 2019
Sender para iOS v4.4.6
- Se solucionó un problema relacionado con la versión mínima compatible de iOS 9.
7 de octubre de 2019
Receptor web
- Se expusieron los roles de los segmentos como parte de los metadatos de los segmentos.
- Se actualizó la versión de Shaka Player a la 2.5.5.
23 de septiembre de 2019
Enviador para iOS v4.4.5
- Se mejoró la compatibilidad con la detección de dispositivos de transmisión y la administración de sesiones.
-
Se agregaron nuevos comandos multimedia a
GCKMediaStatus
. -
Se agregó la propiedad
whenSkippable
aGCKAdBreakStatus
. - Se corrigieron errores de la IU para Google Ads y iOS 13.
11 de septiembre de 2019
Android Sender 17.1.0
-
Se agregó el campo
MediaError
a RemoteMediaClient.MediaChannelResult que se puede usar para acceder al código de error detallado de los comandos multimedia fallidos. -
MediaStatus.COMMAND_SKIP_FORWARD
yMediaStatus.COMMAND_SKIP_BACKWARD
dejaron de estar disponibles. En su lugar, las apps deben usarMediaStatus.COMMAND_QUEUE_NEXT
yMediaStatus.COMMAND_QUEUE_PREVIOUS
. -
Se agregó una nueva dependencia en
com.google.android.datatransport:transport-api:2.0.0
.
9 de septiembre de 2019
Receptor web
-
El tipo de metadatos
TV_SHOW
ahora tiene una vista previa de "Reproducir a continuación" en el reproductor predeterminado si el siguiente elemento está precargado. -
Se agregó la clase
ContentRating
al espacio de nombrescast.framework.messages
. -
Se actualizó el título de audio predeterminado de la IU para que
metadata.artist
tenga prioridad sobremetadata.albumArtist
. - Se agregó compatibilidad con valores de startTime negativos para indicar la hora de inicio en relación con el final del contenido o el borde en vivo.
- Exploración multimedia:
- El panel lateral de exploración multimedia ahora se oculta automáticamente después de 30 segundos de inactividad del usuario.
- Se agregó el botón Reproducir/Pausar y la miniatura del elemento multimedia a la esquina superior derecha de la superposición de exploración de contenido multimedia.
- Se actualizó el comportamiento de la lista de exploración de contenido multimedia. Ahora el desplazamiento horizontal se restablece a la posición inicial, más a la izquierda, cada vez que se configura el contenido de la exploración multimedia.
- Correcciones de errores:
-
Se retrasó la resolución de la promesa de finalización
BasePlayer
para permitir que se active el evento del elemento multimedia. - Se controló el error de carga para la precarga de anuncios.
- La marca de agua ahora se muestra con el resto de los metadatos.
-
La IU de audio predeterminada en Chromecast respeta los estilos de
.progressBar
. - Se eliminaron las salpicaduras de una pantalla INACTIVA antes de CARGAR y entre la reproducción de los siguientes elementos multimedia.
- Se corrigió el bloqueo de búsqueda para el contenido de Dash.
Receptor web v2
-
Se agregó la clase
ContentRating
al espacio de nombrescast.receiver.media
. - Se corrigió un error por el que los datos de error se propagaban incorrectamente cuando había varios elementos en la cola.
Biblioteca del Reproductor multimedia
- Se agregaron atributos #EXT-X-MEDIA de HLS a la API.
- Correcciones de errores:
- Se solucionó un problema con las operaciones fallidas de SourceBuffer remove() que provocaban que el cambio de la pista de audio fallara la reproducción.
- Se corrigió un problema de análisis cuando se especificaba un tipo de formato de audio empaquetado (por ejemplo, *.ec3), pero se usaban segmentos basados en MPEG-4 (por ejemplo, *.mp4, *.mp4a, etcétera).
- Se corrigió un problema de HLS por el que los subtítulos CEA608 en banda se mostraban con una latencia notable.
- Se corrigió el contenido de HLS y Smooth sin que el audio no se cargaba.
27 de agosto de 2019
Remitente web
- El remitente web ahora usa la nueva sintaxis de elementos personalizados v1. Esta versión reemplaza a v0, que dejó de estar disponible.
-
Se corrigieron los cambios en los eventos de
breakTime
,breakClipTime
yliveSeekableRange
, con las nuevas funcionesgetEstimatedBreakTime
,getEstimatedBreakClipTime
ygetLiveSeekableRange
que se agregaron a Chrome M77.
12 de agosto de 2019
iOS Sender v4.4.4
- Se mejoró la experiencia en iOS 13.
- Se mejoró la compatibilidad con la detección de dispositivos compatibles con Cast.
30 de julio de 2019
Receptor web
- Se actualizó la versión de Shaka Player a la 2.5.1.
- Se solucionó el problema por el que la superposición de metadatos desaparecía demasiado rápido durante la carga de contenido.
- Se corrigió el manejo del rechazo en el interceptor de carga para borrar el estado de carga.
- Se actualizó
setBrowseContent
para que sea nulo. - Se solucionó un problema por el que la hora actual informada era incorrecta al buscar durante las pausas publicitarias.
- Se agregó compatibilidad con ignoreTtmlPositionInfo para ignorar el posicionamiento de subtítulos en TTML.
- Se mejoró la compatibilidad para el manejo de errores de carga:
- Se evitó activar varios
MediaFinishedEvent
. - Se activó la devolución de llamada de error del administrador de contenido multimedia para borrar el error de carga del reproductor.
22 de julio de 2019
Sender para iOS v4.4.3
- Se mejoró la compatibilidad para manejar los errores de carga cuando se proporciona un error_reason.
- Se lanzó una versión del SDK sin el modo de invitado.
17 de junio de 2019
Android Sender 17.0.0
- El SDK más reciente cambia de las bibliotecas de compatibilidad de Android a las bibliotecas de Jetpack (AndroidX). Las bibliotecas no funcionarán, a menos que realices los siguientes cambios en tu app:
-
Actualiza
com.android.tools.build:gradle
a v3.2.1 o una versión posterior. - Actualiza
compileSdkVersion
a la versión 28 o una posterior. - Actualiza tu app para usar Jetpack (AndroidX). Sigue las instrucciones en Cómo migrar a AndroidX.
- Para obtener más información, consulta las Notas de la versión de las APIs de Google para Android.
10 de junio de 2019
Receptor web
- Se agregó compatibilidad con Exploración multimedia, una nueva función para descubrir contenido en pantallas inteligentes.
- Se agregó la localización en la IU predeterminada para 9 configuraciones regionales nuevas:
- Danés
- Inglés (Reino Unido)
- Inglés (India)
- Inglés (Singapur)
- Francés (Canadá)
- Italiano
- Noruego
- Neerlandés
- Sueco
- Se quitaron las esquinas redondeadas de la portada del álbum para la IU remota.
- Correcciones de errores para transmisiones en vivo y otras áreas
iOS Sender v4.4.2
- Modo de invitado
- Se agregó compatibilidad con la opción "Habilitar modo de invitado" desde la consola para desarrolladores de Cast.
- Se solucionó un problema de administración de la sesión en el modo de invitado.
- Correcciones de errores
- Se corrigió un problema de localización que se introdujo en la versión 4.4.1.
24 de abril de 2019
iOS Sender v4.4.1
- Se agregó compatibilidad alfa para transmisiones en vivo. Para obtener más información, consulta la guía para desarrolladores.
- Se agregaron nuevas estructuras y atributos de datos para el estado de las transmisiones en vivo.
- Se agregaron nuevas claves de GCKMediaMetadata.
- Se agregaron los siguientes comandos multimedia de transmisión en vivo:
- [GCKRemoteMediaClient loadMediaWithLoadRequestData:]
- [GCKRemoteMediaClient findWithOptions:]
- Se mejoró la IU del controlador expandido para admitir transmisiones en vivo:
- Se cambió el diseño y la apariencia del control expandido.
- Correcciones de errores
- Se corrigió la parte inferior de GCKUICastContainerViewController en el iPhone X.
- Se solucionó el problema de reconexión cuando el SO realiza actividades de red extensas.
- Se corrigió la falla en la inicialización de la etiqueta de accesibilidad con GCKUICastButton.
23 de abril de 2019
Receptor web
- Se agregó la compatibilidad alfa para las transmisiones en vivo. Para obtener más información, consulta la guía para desarrolladores.
- Se actualizó la IU para admitir transmisiones en vivo, incluido el indicador de transmisión en vivo.
- Se agregó el campo mediaCategory al estado del contenido multimedia para indicar si es un video, un audio o una foto.
- Correcciones de errores
- Se corrigió el uso del valor que se muestra de playerConfig.segmentHandler.
Biblioteca del Reproductor multimedia
- Se agregó compatibilidad con el códec HEVC a HLS en MPL.
Remitente web
- Se agregó la compatibilidad alfa para las transmisiones en vivo. Para obtener más información, consulta la guía para desarrolladores.
- Se agregó compatibilidad con anuncios. Para obtener más información, consulta la guía para desarrolladores.
- Se agregó RemotePlayerController.skipAd() para anuncios que se pueden omitir.
Android Sender 16.2.0
- Se agregó la compatibilidad alfa para las transmisiones en vivo. Para obtener más información, consulta la guía para desarrolladores.
- Se agregaron estructuras de datos y atributos nuevos para el estado de la transmisión en vivo.
- Se agregaron nuevas claves de MediaMetadata.
- Se agregaron los siguientes comandos multimedia de transmisión en vivo:
- RemoteMediaClient#load(MediaLoadRequestData)
- RemoteMediaClient#seek(MediaSeekOptions)
- Mejora de la IU del control expandida para admitir transmisiones en vivo:
- Se agregó compatibilidad con la transmisión en vivo a los widgets expandidos de la IU del control.
- Se cambió el diseño y la apariencia del controlador expandido.
- Se introdujo el widget CastSeekBar compatible con transmisiones en vivo para reemplazar el SeekBar nativo.
- Se modificó ExpandedControllerActivity para usar CastSeekBar en lugar de SeekBar para la compatibilidad con transmisiones en vivo. ExpandedControllerActivity#getSeekBar() ahora dejó de estar disponible y mostrará una instancia simulada.
- Se agregó un nuevo estado del reproductor MediaStatus#PLAYER_STATE_LOADING:
- Cuando el receptor web comienza a cargar el contenido multimedia, la propiedad playerState de MediaStatus se establece en MediaStatus#PLAYER_STATE_LOADING hasta que comienza a almacenar contenido en el búfer o a reproducir contenido.
- En la mayoría de los casos, la app controla este estado de la misma manera que controlaba MediaStatus#PLAYER_STATE_BUFFERING.
- Los estados de almacenamiento en búfer y carga no siempre son intercambiables.
- Durante la carga, el receptor web aún no ha resuelto toda la información del contenido multimedia, por lo que la única información disponible es la que estaba presente en la solicitud de carga de contenido multimedia del remitente.
- Durante el almacenamiento en búfer, la información multimedia puede contener información adicional que resuelve el receptor.
- Se modificó MediaMetadata para admitir audiolibros:
- Se agregaron nuevas claves de MediaMetadata.
- Se agregó un nuevo tipo de metadatos para los audiolibros.
25 de marzo de 2019
Receptor web
-
Se reemplazó el uso de
document.registerElement()
porcustomElements.define()
para que el SDK del receptor web sea compatible con las versiones más recientes de la plataforma de Cast. -
Ahora,
MediaStatus.breakStatus
muestra un objeto vacío cuando hay pausas publicitarias para el contenido, pero no se está reproduciendo una pausa. - Se solucionó un problema con el análisis de las etiquetas VAST intercaladas.
Biblioteca de Media Player
- Se solucionó el problema de demora de aproximadamente 20 s al cambiar de pista de audio
13 de febrero de 2019
Receptor web
- Se corrigió la aparición repentina del botón Omitir anuncio para la IU táctil.
- Se corrigió la visualización de información sobre interrupciones en el control remoto.
Biblioteca de Media Player
- Se corrigió un problema con el manejo de licenseUrl para el contenido multimedia precargado.
5 de febrero de 2019
Sender para iOS v4.3.5
- Se agregó compatibilidad para metadatos de audiolibros. Consulta GCKMediaMetadata.h para obtener más detalles.
- Establece el valor correcto para static_framework en el podspec.
- Divide a styleAttributes de la barra de navegación y de la barra de herramientas del controlador de conexión.
- Correcciones de errores
- Se corrigió una falla en ciertas inicializaciones de bases de datos fallidas.
- Se solucionó un problema con la barra de volumen del receptor web durante las llamadas telefónicas entrantes o los timbres de alarma.
- Se corrigió la llamada redundante de ciertos métodos delegados durante el descubrimiento.
- Se solucionó un problema por el que la lista de fila de contenido multimedia no se borraba después de que se terminaba de reproducir el último elemento de la cola.
- No se permite mostrar dispositivos cercanos inaccesibles cuando la red no está disponible.
- Se inhabilitó el control deslizante de volumen en el controlador de vista de dispositivos para aquellos en los que no se puede controlar el volumen.