Mejores prácticas

Anterior Siguiente

Las siguientes "mejores prácticas" ayudan a garantizar el éxito al implementar este kit de desarrollo de software.

Vincule su código JS a eventos del kit de desarrollo de software de TD

En los dispositivos móviles en los que el oyente puede estar conectado a una red celular y se le cobra por unidad de datos, el streaming de audio HTML5 requiere una acción iniciada por el usuario (onmousedown, onmouseup,  onclick u ontouchstart) para comenzar a reproducirse. No se carga ningún dato hasta que el usuario lo inicia.

Además, no se pueden realizar llamadas HTTP entre la acción del usuario y la reproducción de audio. Hay que tener en cuenta esta limitación. De no ser así, se mostrará un mensaje de error en la consola web.

Por ejemplo, si se envían varias solicitudes XHR* sincrónicas (análisis, rastreadores, otras) entre un gesto del usuario y la reproducción del stream, este error se mostrará en la consola web:

"Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture" (No se pudo ejecutar "play" en "HTMLMediaElement": API solo puede iniciarse mediante el gesto de un usuario)

Cómo evitar este error

Adjunte controladores a eventos del SDK de TD. Al adjuntar controladores a eventos del SDK de TD, evita que sus solicitudes XHR específicas interfieran con el requisito de gestos del usuario en dispositivos móviles (iOS, Android).

Ejemplo:

/** Attach handlers to TD Player SDK events **/
 player.addEventListener( 'stream-start', onStreamStart );
 player.addEventListener( 'stream-fail', onStreamFail );
 player.addEventListener( 'stream-error', onStreamError );
  
 function onStreamStart( event )
 {
    //YOUR XHR REQUEST SENT HERE
 }
 
 function onStreamFail( event )
 {
    //YOUR XHR REQUEST SENT HERE
 }
 
 function onStreamError( event )
 {
    //YOUR XHR REQUEST SENT HERE
 }

* XMLHttpRequest : https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest