2012-04-20 6 views
8

Estoy tratando de utilizar este bucle javascript para un elemento de audio:HTML 5 elemento de audio no looping en Rails

music.js:

myAudio = new Audio('/assets/drumloop.mp3'); 
myAudio.loop = true; 
myAudio.play(); 

Cuando incluyo esto como una secuencia de comandos en una archivo html sin formato y abra el archivo html en Safari 5.1, se ejecuta perfectamente. Cuando incluyo este javascript desde la aplicación Rails que se ejecuta en un servidor de rieles local, se reproduce el audio, pero no hace el ciclo.

He intentado usar una devolución de llamada en el evento 'terminado' para ajustar el tiempo a cero y jugar de nuevo (como se sugiere here, pero que no funciona bien.

¿Es posible que los carriles no está enviando suficiente información en el encabezado HTTP

+0

Extraño ... Funciona una vez que se lo envía al heroku, así que tal vez tiene algo que ver con el servicio de recursos precompilados ... Volver al asunto del encabezado http ... Lo solucionaré si lo hago, pero, mientras tanto, ¡es lo suficientemente bueno! – Ricky

+1

si no lo coloca en la cartera de activos, ¿todavía tiene el problema? – Matt

Respuesta

1

Con frecuencia me encuentro con el mismo problema. No he encontrado una solución real, pero sí viene con una versión "suficientemente buena durante el desarrollo".

Terminé tirando mis archivos de audio en otro servidor y haciendo referencia a ellos desde mi aplicación de rieles durante el desarrollo si realmente necesitaba probar el bucle o buscar.

Apache funcionando en localhost funcionó bien para mí. También puedes usar un servidor web. ¡Solo asegúrese de cambiar esos caminos antes de implementar!

Súper frustrante.

+0

+1 por el pragmatismo sobre la elegancia. – Ricky

0

Usted no necesita JS para esta Prueba este código HTML:?.

<audio controls="controls" loop="loop"> 
    <source src="/assets/drumloop.mp3" type="audio/mpeg" /> 
</audio> 

la clave es loop = "bucle"

+0

Gracias, pero el problema es que no obedece a estas etiquetas cuando es servido por el servidor local de rieles. Tengo muchas otras cosas que hacer, así que no he tenido la oportunidad de depurarlo correctamente, pero como dije, sospecho que hay información de encabezado extra que se envía cuando los datos de audio son servidos por heroku. – Ricky

Cuestiones relacionadas