2012-04-04 14 views
9

Estoy desarrollando un juego simple para samsung smart tv. Quiero reproducir pequeños archivos de sonido cuando ciertas cosas pasaron como listas, ganar, perder. No quiero lidiar con reproductores flash, controles de reproductor ... ¿Hay alguna forma de usar javascript para activar una acción de sonido de reproducción con un volumen de sonido predefinido y quiero hacerlo varias veces en mi código.reproducir sonidos en samsung smart tv

+0

Etiqueta de audio HTML5, método obvio 'play'. Más avanzado: precarguelo y no comience antes de lo requerido. – kirilloid

+0

No lo intenté yo mismo pero leí en alguna parte que la televisión inteligente no admite la etiqueta de audio de html5. – Enes

Respuesta

8

es necesario agregar objeto jugador (SAMSUNG-INFOLINK-PLAYER) en su <body> etiqueta:

<object id="pluginPlayer" style="visibility: hidden; width: 0px; height: 0px; opacity: 0.0" classid="clsid:SAMSUNG-INFOLINK-PLAYER"></object> 

Y luego, en JavaScript de la aplicación sólo tiene que utilizar esta función:

var playerObj = document.getElementById('pluginPlayer'); 
playerObj.Play("absolute_url_to_your_mp3"); 

Como complemento jugador ejecuta en un lugar diferente dentro del sistema de archivos de Samsung, siempre debe usar la ruta absoluta al archivo. Puede ser remoto, pero puede usar location.href de su aplicación index.html para obtener la ruta local absoluta del directorio de trabajo de la aplicación donde puede colocar los mp3.

verifique la documentación, aquí:

http://www.samsungdforum.com/Guide/View/Developer_Documentation/Samsung_SmartTV_Developer_Documentation_2.5/API_Reference/JavaScript_APIs/Device_API/Player

5

este fue mi solución:

añadir a de index.html archivo

<body> 
    <object id="pluginPlayer" border=0 classid="clsid:SAMSUNG-INFOLINK-PLAYER"> 
... 
... 
... 
</body> 

dentro de mis .js Scene1.js

SceneScene1.prototype.initialize = function() { 
var Player = document.getElementById('pluginPlayer'); 
var retVal=Player.Play("http://mysite.com/android/smartTV/little_wing.mp3"); 
... 
... 
... 
} 
1

Yo uso la versión del SDK 5.1 para televisores 2013 y 2014 modelos de los años y yo tengo obras el siguiente código:

<object id="pluginPlayer" classid="clsid:SAMSUNG-INFOLINK-PLAYER"></object> 

var playerObj = document.getElementById('pluginPlayer'); 
var fileName = location.pathname.substring(location.pathname.lastIndexOf("/") + 1); 
playerObj.Play(document.location.href.split(fileName)[0] + 'test.mp3'); 

Y esta alternativa también funciona (con Flash):

<div style="position:absolute; z-index:-1;"> 
    <object type="application/x-shockwave-flash" width="100" height="50" id="fplayer"> 
     <param name="movie" value="test.swf"/> 
     <param name="quality" value="high"/> 
     <param name="bgcolor" value="blue"/> 
    </object> 
</div> 

¡Y muchas gracias a Dobiatowski!

Cuestiones relacionadas