Buenos días,
Después de "sudar mucho la camiseta", llego al siguiente código que funciona perfecto en
I.E.9 y
Firefox, de manera reproducible, esto es, SIEMPRE BIEN.
En
Chrome me tengo que conformar con la melodía de defecto (Danubio Azul, porque el desplegable <select><option> no tiene efecto con mi código en este navegador).
En
Opera no hace nada de nada: ni suena la de defecto ni actúa el desplegable... la sección de sonido queda muerta.
Agradeceré algún/a valiente/a que se artreva a dar un diagnóstico de los fallos de Chrome y Opera. Gracias:
Código:
...
<SCRIPT TYPE="text/javascript">
...
// Detección del navegador del usuario.
var navegador;
if(navigator.userAgent.indexOf('MSIE')!=-1) {
navegador="MSIE";
} else if (navigator.userAgent.indexOf('Chrome')!=-1) {
navegador="Chrome";
} else if (navigator.userAgent.indexOf('Firefox')!=-1) {
navegador="Firefox";
} else if (navigator.userAgent.indexOf('Opera')!=-1) {
navegador="Opera";
}
// Carga de la melodía por defecto.
var audios = document.getElementsByTagName('audio');
if (navegador=="MSIE" || navegador=="Opera" || navegador=="Chrome") {
audios[0].src="musica/DanubioAzul.mp3";
audios[0].play();
} else if (navegador=="Firefox") {
audios[0].src="musica/DanubioAzul.ogg";
audios[0].play();
}
...
// FUNCIÓN QUE SELECCIONA EL ARCHIVO DE SONIDO EN FUNCIÓN DE ELECCIÓN <SELECT> DEL USUARIO.
function rep(z){
var audios=document.getElementsByTagName('audio');
audios[0].pause();
// Detección del navegador del usuario.
var navegador;
if(navigator.userAgent.indexOf('MSIE')!=-1) {
navegador="MSIE";
} else if (navigator.userAgent.indexOf('Chrome')!=-1) {
navegador="Chrome";
} else if (navigator.userAgent.indexOf('Firefox')!=-1) {
navegador="Firefox";
} else if (navigator.userAgent.indexOf('Opera')!=-1) {
navegador="Opera";
} // Fin if.
if(navegador=="MSIE" || navegador=="Opera" || navegador=="Chrome") {
switch (z){
case '1':
audios[0].src="musica/DanubioAzul.mp3";
break;
case '2':
.....
...
case '42':
audios[0].src="musica/EscInfanteríaInstrum-aguaracua.mp3";
break;
} // Fin switch.
audios[0].play();
document.images[29].src="pause.jpg";
document.images[30].src="play2.jpg";
} // Fin if.
if(navegador=="Firefox") {
switch (z){
case '1':
audios[0].src="musica/DanubioAzul.ogg";
break;
case '2':
.....
...
case '42':
audios[0].src="musica/EscInfanteríaInstrum-aguaracua.ogg";
break;
} // Fin switch.
audios[0].play();
document.images[29].src="pause.jpg";
document.images[30].src="play2.jpg";
} // Fin if.
} // Fin function rep(z).
// FUNCIÓN QUE DA PAUSA Y PLAY AL ARCHIVO DE SONIDO EN REPRODUCCIÓN.
function pauseplay(s){
var audios = new Array();
var i=document.forms[0].elements[9].value;
audios=document.getElementsByTagName('audio');
if(s==0){
audios[i].pause();
document.images[29].src="pause2.jpg";
document.images[30].src="play.jpg";
} else if(s==1){
audios[i].play();
document.images[29].src="pause.jpg";
document.images[30].src="play2.jpg";
}
} // Fin function pauseplay(s).
<SCRIPT>
<html>
<head>
...
</head>
<body>
...
<audio autoplay loop id='sonido1'></audio>
...
<select id="select" name="lista">
<option class="disab" value="0" disabled>CLÁSICA</option>
<option class="opcion" value="1" selected onClick="rep('1');">Danubio Azul-J. Strauss (h)</option>
<option class="opcion" value="2" onClick="rep('2');">Marcha Triunfal, Aida-Verdi</option>
.....
<option class="opcion" value="42" onClick="rep('42');">Escuela de Infantería</option>
</select>
...
</body>
</html>