Actualmente tengo una página web que puede reproducir clips de audio actualizados almacenados localmente en una carpeta producida por algún otro servicio. El audio que reproduzco cuando se presiona el botón son los clips de audio anteriores (¿probablemente debido al caché?). A menos que cierre manualmente la pestaña y vuelva a abrir otra pestaña.
¿Es posible dejar que la función o JS cargue el archivo de audio cada vez antes de reproducirlo?
<td style="position:relative; top:1px;"> <input id="scream" type="button" class="btn" onclick="play_single_sound()"> </td> <audio src="{{url_for('static', filename='/screams/new_scream.wav')}}" id="audiotag1" autoplay="autoplay" preload="metadata"/> <source src="/screams/new_scream.wav" type="audio/mpeg"> </audio> <script type="text/javascript"> #FIRST METHOD <!-- var song = document.getElementById('audiotag1')--> <!-- function play_single_sound() {--> <!-- song.play();--> <!-- }--> #SECOND METHOD window.play_single_sound = function() { document.getElementById('audiotag1').play(); } </script>También intenté cargar audio como instancia dentro de JS, de la siguiente manera:
var song = new Audio ("../screams/new_scream.wav"); song.preload="auto"; song.play();Todos los métodos anteriores no me permiten reproducir clips de canciones que cambian dinámicamente en una carpeta estática. Algún consejo ?
Eliminar atributo de reproducción automática
<audio src="{{url_for('static', filename='/screams/new_scream.wav')}}" id="audiotag1" preload="metadata"/>