Foros del Web » Programando para Internet » Javascript »

Cargar un sonido desde una funcion en Javascript

Estas en el tema de Cargar un sonido desde una funcion en Javascript en el foro de Javascript en Foros del Web. Buenas, estoy intentando realizar una función en javascript que me cargue un sonido en función de unas condiciones. Es para la realización de unos ejercicios, ...
  #1 (permalink)  
Antiguo 01/02/2013, 12:35
 
Fecha de Ingreso: septiembre-2012
Ubicación: Pontevedra
Mensajes: 48
Antigüedad: 11 años, 7 meses
Puntos: 2
Cargar un sonido desde una funcion en Javascript

Buenas, estoy intentando realizar una función en javascript que me cargue un sonido en función de unas condiciones.

Es para la realización de unos ejercicios, de emparejamiento de preguntas y respuestas, en el caso de que emparejen la pregunta y la respuesta correcta quiero que lance un sonido (que al ser un curso de ingles, sera el sonido de la correcta pronunciación de la pregunta y la respuesta). El problema es que todo lo que he visto por ahi, ninguna me reproduce sonido alguno.
Pego aqui mi codigo Javascript:

Código HTML:
function obtenerRadioSeleccionado(){
                        marcado1=-1;
                        for(i=0;i<document.form.grupo1.length;i++){
                            if(document.form.grupo1[i].checked) {
                                marcado1=i;
                                }
                                }
                                if(marcado1==-1){
                                    return false;
                                }
                                valor1=document.form.grupo1[marcado1].value;
                                marcado2=-1;
                         for(i=0;i<document.form.grupo2.length;i++){
                            if(document.form.grupo2[i].checked) {
                                marcado2=i;
                                }
                                }
                                if(marcado2==-1){
                                    return false;
                                }
                                valor2=document.form.grupo2[marcado2].value;
                                if((valor1==valor2)){
                                    document.form.grupo1[marcado1].checked=false;
                                    document.form.grupo1[marcado1].style.visibility="hidden";
                                    document.form.texto1.style.visibility="hidden";
                                    document.form.grupo2[marcado2].checked=false;
                                    document.form.grupo2[marcado2].style.visibility="hidden";
                                    document.form.texto4.style.visibility="hidden";
                                    alert("Correcto!");
                                    document.getElementById("sound_element").innerHTML="<embed src='tada.mp3' hidden=true autostart=true loop=false>";
                                }
                                else{
                                    alert("Falso!");
                                }
                                
                    }
el codigo html seria (cargo como styles lo que importo de la hoja de estilos para que veais el codigo completo)


Código PHP:
echo '<div id="sound_element"></div>';
echo 
"<form name='form'>";
        echo 
'<input style="background: inherit; background-color: transparent; color:#bb5245; text-align:left; border:none; font-size: 16pt;font-weight:bold; " type="text" name="texto1" value="'.$var1.'" readonly><input type="radio" id="uno" onClick="obtenerRadioSeleccionado()" name="grupo1" value="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input style="background: inherit; background-color: transparent; color:#bb5245; text-align:left; border:none; font-size: 16pt;font-weight:bold; " type="text" name="texto2" value="'.$var2.'" readonly><input type="radio" id="uno" onClick="obtenerRadioSeleccionado()" name="grupo1" value="'.$var2.'"><br/>';
        echo 
"<input style='background: inherit; background-color: transparent; color:#bb5245; text-align:left; border:none; font-size: 16pt;font-weight:bold; ' type='text' name='texto3' value='".$var3."' readonly><input type='radio' id='dos' onClick='obtenerRadioSeleccionado()' name='grupo2' value='".$var3."'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input style='background: inherit; background-color: transparent; color:#bb5245; text-align:left; border:none; font-size: 16pt;font-weight:bold; ' type='text' name='texto4' value='".$var4."' readonly><input type='radio' onClick='obtenerRadioSeleccionado()' id='cuatro' name='grupo2' value='1'><br/>";
        echo 
"</form>"
Si el codigo no esta muy optimizado es que soy novato en Javascript.
Como podeis ver primero hago 2 bucles for que recorren los radio button de cada grupo para comprobar cual esta marcado, y almaceno el value de cada radio button en una variable. Si la pregunta y la respuesta son las relacionadas, el value de ambos sera el mismo por lo tanto disparo el codigo de respuesta correcta, desmarco los radio button, escondo el texto y el radio button y mando el mensaje de correcto, e intente meter esa funcion de sonido que encontre (es la cuarta distinta que encuentro y nada). El arhivo a reproducir es tada.mp3, que esta metido en la misma carpeta que la pagina que se ejecuta (la pagina es simplemente una prueba de la función para despues importar al servidor real)

Gracias por anticipado

Última edición por barbel; 01/02/2013 a las 12:42
  #2 (permalink)  
Antiguo 04/02/2013, 04:33
 
Fecha de Ingreso: septiembre-2012
Ubicación: Pontevedra
Mensajes: 48
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Cargar un sonido desde una funcion en Javascript

Alguna idea?
  #3 (permalink)  
Antiguo 04/02/2013, 04:56
 
Fecha de Ingreso: septiembre-2012
Ubicación: Pontevedra
Mensajes: 48
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Cargar un sonido desde una funcion en Javascript

Vale, consegui que me funcionara la reproduccion de sonido con la función que tenia antes. El problema era que necesitaba tener instalado el quicktime, sino no reproducia el sonido. Existe alguna manera de reproducir el sonido sin la necesidad de tener que instalar algun pluggin para el explorador?
  #4 (permalink)  
Antiguo 04/02/2013, 08:43
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar un sonido desde una funcion en Javascript

Cita:
Iniciado por barbel Ver Mensaje
Vale, consegui que me funcionara la reproduccion de sonido con la función que tenia antes. El problema era que necesitaba tener instalado el quicktime, sino no reproducia el sonido. Existe alguna manera de reproducir el sonido sin la necesidad de tener que instalar algun pluggin para el explorador?
usa la etiqueta audio de HTML5, que es perfectamente controlable desde javascript

Aqui algunos ejemplos
basico
http://foros.emprear.com/html5/audio...dio-html5.html
Alternar reproducción
http://foros.emprear.com/html5/audio...p3/audio5.html
Controlar Volumen mouseover
http://foros.emprear.com/html5/audio...o-html5-v.html

El repoductor flash solo es necesario para compatibilidad con < IE9
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 04/02/2013, 10:17
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Cargar un sonido desde una funcion en Javascript

Yo lo trabajo de este modo
Código Javascript:
Ver original
  1. var audioElement = document.createElement('audio');
  2. audioElement.setAttribute('src', '/audio/RING.ogg');

Si usas firefox tendría que ser un mp3, o tener el quicktime instalado.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 04/02/2013, 10:31
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar un sonido desde una funcion en Javascript

Cita:
Iniciado por h2swider Ver Mensaje
Yo lo trabajo de este modo
Código Javascript:
Ver original
  1. var audioElement = document.createElement('audio');
  2. audioElement.setAttribute('src', '/audio/RING.ogg');

Si usas firefox tendría que ser un mp3, o tener el quicktime instalado.
Si usa Firefox necesita un ogg no un mp3
y la idea es no depender de plugins (salvo como señale, se quiera compatibilidad con versiones viejas de IE)
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 05/02/2013, 06:54
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Cargar un sonido desde una funcion en Javascript

Cita:
Iniciado por emprear Ver Mensaje
Si usa Firefox necesita un ogg no un mp3
y la idea es no depender de plugins (salvo como señale, se quiera compatibilidad con versiones viejas de IE)
Saludos
tienes razón tengo muy en claro que es ogg, fue un acto fallido. Lamentablemente no existe una manera de reproducir sonido con ni siquiera con alta compatibilidad.

Si la encuentras me dices sera de gran utilidad.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #8 (permalink)  
Antiguo 05/02/2013, 09:29
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar un sonido desde una funcion en Javascript

Cita:
Iniciado por h2swider Ver Mensaje
tienes razón tengo muy en claro que es ogg, fue un acto fallido. Lamentablemente no existe una manera de reproducir sonido con ni siquiera con alta compatibilidad.

Si la encuentras me dices sera de gran utilidad.
dispositivos móviles aparte. El primer ejemplo es compatible con IE firefox chrome ópera safari (wind / mac).
No se a que llamás compatiblidad.
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 05/02/2013, 09:30
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar un sonido desde una funcion en Javascript

Cita:
Iniciado por h2swider Ver Mensaje
tienes razón tengo muy en claro que es ogg, fue un acto fallido. Lamentablemente no existe una manera de reproducir sonido con ni siquiera con alta compatibilidad.

Si la encuentras me dices sera de gran utilidad.
el primer ejemplo es compatible con Ie Ff Chrome Opera Safari(win/mac). No se a que llamas compatibilidad.
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #10 (permalink)  
Antiguo 06/02/2013, 11:46
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Cargar un sonido desde una funcion en Javascript

Cita:
Iniciado por emprear Ver Mensaje
el primer ejemplo es compatible con Ie Ff Chrome Opera Safari(win/mac). No se a que llamas compatibilidad.
Saludos
En firefox sin quick Time no funciona por ejemplo.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #11 (permalink)  
Antiguo 06/02/2013, 11:55
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar un sonido desde una funcion en Javascript

Cita:
Iniciado por h2swider Ver Mensaje
En firefox sin quick Time no funciona por ejemplo.
Si esto
http://foros.emprear.com/html5/audio...dio-html5.html
no funciona en tu Firefox, tu Firefox está en problemas

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #12 (permalink)  
Antiguo 07/02/2013, 09:29
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Cargar un sonido desde una funcion en Javascript

Me funciona en firefox 18. En otras un poco mas previas ya no. Como 10 o 12, y no son tan antiguas. Saludos
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #13 (permalink)  
Antiguo 07/02/2013, 09:48
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cargar un sonido desde una funcion en Javascript

Cita:
Iniciado por h2swider Ver Mensaje
Me funciona en firefox 18. En otras un poco mas previas ya no. Como 10 o 12, y no son tan antiguas. Saludos
Convengamos que de la 10 a la 18 hay bastantes diferencias, y se te tendría que ejecutar el flash de todas formas

http://caniuse.com/#feat=video

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: funcion, html, input, sonido
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:18.