2011-08-10 18 views
8

Configuré una página HTML5, que incluye un nodo. La página reproducirá música (formato mp3), pero solo reproducirá sonido para finalizar, y yo uso javascript para controlar el elemento de audio, aun así, no puedo reproducirlo y solo DETENER.Elemento de audio HTML para reproducir?

¿El elemento de audio HTML5 admite REPLAY? ¿Y cómo?

Respuesta

0

Puede probar esto:

<audio id="audiotag1" src="audio/flute_c_long_01.wav" preload="auto"></audio> 
<a href="javascript:play_single_sound();">Play 5-sec sound on single channel</a> 
<script type="text/javascript"> 
    function play_single_sound() { 
     document.getElementById('audiotag1').play(); 
    } 
</script> 

Ref: http://www.storiesinflight.com/html5/audio.html

3

Las sugerencias anteriores no trabajaron para mí o lo que no proceda. Necesitaba reproducir el sonido cuando mi código necesitaba hacerlo.

El siguiente código trabajado (al menos cromo):

audioElement.setAttribute ('origen', audioSrc); audioElement.play();

en otras palabras, estableciendo el atributo src de nuevo, entonces el juego() hizo el trabajo

+1

Esto funciona, pero realiza una nueva solicitud para el sonido res en todo momento. – valkirilov

+0

@valkirilov Pero funciona en https://code.google.com/p/chromium/issues/detail?id=121765 – user7610

2

Si el servidor que aloja el video no soporta la búsqueda en el cliente (HTTP RangeRequest), el comando

audioElement.currentTime=0; 

de la respuesta de @ JapanPro se ignora silenciosamente en Chromium. Este comportamiento se completa como crbug #121765.

Hay un handy guide on MDN how to configure your server para jugar bien. Pero si no se puede, que tenía éxito con hacer

audioElement.load(); 

como era de esperar, que vuelve a cargar la fuente de audio y busca el principio como un efecto secundario. No es agradable, pero es bastante intuitivo y funciona.

fuente: http://www.whatwg.org/specs/web-apps/current-work/#loading-the-media-resource

0

no utilizan node.load() esto es demasiado lento para los dispositivos lentos.

Para detener, sólo debe utilizar:

node.currentTime = 0 

Para repetición se puede hacer:

node.currentTime = 0 
node.play() 
Cuestiones relacionadas