Foros del Web » Programando para Internet » Javascript »

Problema reproduciendo sonido

Estas en el tema de Problema reproduciendo sonido en el foro de Javascript en Foros del Web. Buenas, un saludo a todos. Estoy realizando un pequeño cronometro en javascript, el cronometro lo tengo todo bien implementado y funciona, el problema que tengo ...
  #1 (permalink)  
Antiguo 05/12/2012, 17:34
 
Fecha de Ingreso: diciembre-2012
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Problema reproduciendo sonido

Buenas, un saludo a todos. Estoy realizando un pequeño cronometro en javascript, el cronometro lo tengo todo bien implementado y funciona, el problema que tengo es que quiero emitir una señal acústica que me indique el comienzo del mismo. Para ello he empleado la etiqueta html <embed>, el primer problema que tengo, es que dentro de esa misma etiqueta en el campo loop, ponga el valor que ponga, siempre esta repitiéndose el pitido, nose si me podéis ayudar a solventar este problema. Por no dejar el proyecto a medias y esperar a dar con una solución (que me harte de buscar por internet haber si encontraba algo) lo que hice fue implementar el código de la siguiente manera:
/***********************/
/*Esta funcion activa el sonido*/
/***********************/
function activarsonido(value){
var sonido = window.document.getElementById("sonido");
sonido.innerHTML = "<embed src='../beep-5.wav' autostart='true' loop="+value+" volume='100' width='0' height='0' hidden='true'>";
var valuetime = value*1300;
setTimeout("detenersonido()",valuetime);
};
/*************************/
/*Esta funcione detiene el sonido*/
/*************************/
function detenersonido(){
var sonido = window.document.getElementById("sonido");
sonido.innerHTML = "";
};
Como pueden ver, lo que hago es introducir el codigo embed, dentro de un div que tengo en el documento html, al cual le tengo asociado el id="sonido" y como les comente antes, no pude solucionar el problema con el loop, sencillamente lo que hago es multiplicar el tiempo que dura el beep, por el numero de veces que quiero que lo haga, y transcurrido ese tiempo, lo detengo, la manera de hacerlo es borrando el codigo dentro de la etiqueta donde estaba el div, nose si ha quedado claro, para que me entienda mejor....

DESPUES DE LLAMAR A ACTIVARSONIDO();
<div id=sonido>
<embed src='../beep-5.wav' autostart='true' loop="+value+" volume='100' width='0' height='0' hidden='true'>;
</div>
DESPUES DE DETENERSONIDO
<div id=sonido>
</div>

Bien, este conjunto de funciones me resulto a medias, pues ahora si que consigo hacer el numero de beeps que quiero, en vez de quedarse todo el rato reproduciéndose el sonido una vez lo activaba, pero me surgió un segundo problema, y es que no siempre lo reproduce, va a su bola, he comprobado el resto del codigo asociado al cronometro en si, y el código es correcto, el problema es que no se porque, a pesar de hacer las llamadas oportunas a estas funcionas que les he descrito, hay veces que suena, y veces que no, realmente aunque parezca una tontería, esta es una parte muy importante del proyecto, pues me baso en la señal acústica del crono para conocer los intervalos del tiempo que he marcado en el mismo, pues cuando lo use no estaré mirando de manera continua a la pantalla del ordenador, si no que me guiare por estas señales sonoras.
De ante mano muchas gracias, y lo siento por la parrafada, espero haberme explicado con bastante claridad.
  #2 (permalink)  
Antiguo 08/12/2012, 11:10
 
Fecha de Ingreso: diciembre-2012
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema reproduciendo sonido

Una ayudita porfavor
  #3 (permalink)  
Antiguo 08/12/2012, 16: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: Problema reproduciendo sonido

Cita:
Iniciado por FerminCacho Ver Mensaje
Una ayudita porfavor
eso que estás haciendo es muy complicado, te convendría utilizar flash(un sfw de audio) o la etiqueta audio de html5, ambas controlables por medio de javascript

Lo que no está muy claro de tu explicación es lo siguiente, al darle al botón que inicia el cronómetro se inicia el sonido (supongamos que es un beep de 1 segundo)
para que hacer un loop?

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 08/12/2012, 19:58
 
Fecha de Ingreso: diciembre-2012
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema reproduciendo sonido

Hola, al final hice lo que tu me decías con la etiqueta audio de HTML5, y resolví todos los problemas de un plumazo, mil gracias por tu ayuda, muy agradecido

Etiquetas: funcion, html, 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 13:53.