Foros del Web » Programando para Internet » Javascript »

"precargar" archivo

Estas en el tema de "precargar" archivo en el foro de Javascript en Foros del Web. Hola Verán: He hecho un script que reproduce sonido...en este caso, lo uso en onMouseOver, en un input type="button".. El problema: Me he dado cuenta ...
  #1 (permalink)  
Antiguo 22/11/2008, 16:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 154
Antigüedad: 16 años
Puntos: 2
Pregunta "precargar" archivo

Hola
Verán: He hecho un script que reproduce sonido...en este caso, lo uso en onMouseOver, en un input type="button"..


El problema:
Me he dado cuenta de ke gracias a que uso un servidor gratuito y un archivo wav (pesado), se tarda demasiado en reproducir el sonido.

Necesito "algo" que descargue el sonido al cargar la pagina, y no al pasar el cursor por encima dl boton.

Me explico? Si no me he explicado bien, decidmelo e intentaré hacerlo mejor...
  #2 (permalink)  
Antiguo 22/11/2008, 16:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: "precargar" archivo

Hola:

El tema es algo viejo, pero tal vez te sirva... precargar sonidos

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 23/11/2008, 01:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: "precargar" archivo

Hola:

Luego de crear ese mensaje, hice algunas modificaciones y como último (no sé si definitivo) script es el siguiente:

Código:
<html>
<head>
<title>
	precarga de sonidos
</title>
<script type="text/javascript">
var sones;
function _desactivar() {
	window.frames[this.nFrame].document.clear();
	window.frames[this.nFrame].document.open();
	window.frames[this.nFrame].document.writeln("");
	window.frames[this.nFrame].document.close();
}
function _activar() {
	var son = "<html><body><embed";
	son += " src='" + this.son[_activar.arguments[0]].src + "' autostart='true'";
	son += " hidden='true' style='display: inline'></embed></body></html>";
	window.frames[this.nFrame].document.clear();
	window.frames[this.nFrame].document.open();
	window.frames[this.nFrame].document.writeln(son);
	window.frames[this.nFrame].document.close();
}
function preSonidos() {
	this._contenedor = document.createElement("div");
	this._contenedor.style.width = "0px";
	this._contenedor.style.height = "0px";
	this._contenedor.style.overflow = "hidden";
	this._sonador = document.createElement("iframe");
	this._contenedor.appendChild(this._sonador);
	this._sonador.setAttribute("name", "fondoMusical");
	this._entradas = preSonidos.arguments;
	this.total = this._entradas.length; this.son = new Array(this.total);
	for (var i = 0; i < this.total; i ++) {
		this.son[i] = document.createElement("embed");
		this.son[i].src = this._entradas[i];
		this.son[i].autostart = false;
		this.son[i].style.display = "none";
		this._contenedor.appendChild(this.son[i]);
	}
	this.sonando = false;
	this.incrustado = false;
	this.activar = _activar;
	this.desactivar = _desactivar;
	document.body.appendChild(this._contenedor);
	this.nFrame = window.frames.length - 1;
}

function ini() {
	sones = new preSonidos('../sonidos/celtic0.mid',
'../sonidos/celtic1.mid', '../sonidos/celtic2.mid',
'../sonidos/celtic3.mid', '../sonidos/Starway_to_Heaven.mp3');
}
</script>
</head>
<body onload="ini();">
<button onclick="sones.activar(0)">celtic0.mid</button>
<button onclick="sones.activar(1)">celtic1.mid</button>
<button onclick="sones.activar(2)">celtic2.mid</button>
<button onclick="sones.activar(3)">celtic3.mid</button>
<button
onclick="sones.activar(4)">Starway_to_Heaven.mp3</button>
<button onclick="sones.desactivar()">desactivar</button>
<br />
</body>
</html>
Puedes probarlo aquí: Probador de scripts (copiar y pegar)... De paso te muestro otro enlace de interés: Música en la web

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 23/11/2008, 06:39
 
Fecha de Ingreso: noviembre-2008
Mensajes: 154
Antigüedad: 16 años
Puntos: 2
Respuesta: "precargar" archivo

ahora si, muchisimas gracias
  #5 (permalink)  
Antiguo 23/11/2008, 10:31
 
Fecha de Ingreso: noviembre-2008
Mensajes: 154
Antigüedad: 16 años
Puntos: 2
Respuesta: "precargar" archivo

ah...dos preguntas mas:

como puedo hacer para ejecutar una accion cuando la cancion termina de reproducirse?

podrias porfavor intentar hacer un control de volumen?

Última edición por guallox; 23/11/2008 a las 11:18
  #6 (permalink)  
Antiguo 24/11/2008, 02:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: "precargar" archivo

Hola:

Lamentablemente con javascript no hay forma de saber cuando la música termina, y tampoco poner controles, pero se puede poner el reproductor visible, y algunos creo que tienen controles...

La alternativa de usar flash puede ser recomendable en estos casos.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 24/11/2008, 06:16
 
Fecha de Ingreso: noviembre-2008
Mensajes: 154
Antigüedad: 16 años
Puntos: 2
Respuesta: "precargar" archivo

miraré a ver ke opciones tengo...
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:44.