Foros del Web » Creando para Internet » Flash y Actionscript »

barra de sonido

Estas en el tema de barra de sonido en el foro de Flash y Actionscript en Foros del Web. Hola a todos: Necesito para una página una barra de sonido, no tengo ni idea de como hacerla. Se trata de un botón que se ...
  #1 (permalink)  
Antiguo 05/04/2003, 01:45
 
Fecha de Ingreso: noviembre-2002
Ubicación: España
Mensajes: 24
Antigüedad: 22 años
Puntos: 0
barra de sonido

Hola a todos:
Necesito para una página una barra de sonido, no tengo ni idea de como hacerla.
Se trata de un botón que se desplaze por la barra, en caso de querer adelantar la ponencia adelanto el botón y listo.
Gracias de antemano la atención prestada a este mensaje.
fer
  #2 (permalink)  
Antiguo 05/04/2003, 16:09
Avatar de KRIS  
Fecha de Ingreso: abril-2003
Mensajes: 16
Antigüedad: 21 años, 7 meses
Puntos: 0
Hola, el sonido debes comenzar a reproducilo con el siguiente código en el primer fotograma de la peli o del clip donde quieras reproducir el sonido:
var s=new Sound();
s.attachSound("nombre sonido");
s.start();
"nombre sonido" no es el nombre que tiene el sonido en la biblioteca, debes definirlo en las propiedades de vinculación del objeto. Lo buscas en la biblioteca y con el btn dcho del ratón sobre el eliges la opción vinculación, allí defines el nombre.
En cuanto a la barra deslizante debe ser un btn dentro de un clip y debe tener en su interior el siguiente código:

on (press) {
startDrag ("_parent.deslizante", false,0,100,100,100);
//supongo que la barra está en la coordenada 0,100 y se puede desplazar hasta la 100,100 lo cual nos da un rango de desplazamiento de 100 pixels.
}
on (release){
stopDrag();
var coordenada=_parent.deslizante._y;
//obtengo la coordenada final de la barra deslizante.
//voy a suponer que el sonido dura 2 minutos, 120 segundos
_parent.s.start(120*Math.round(coordenada/100));
//con esto le digo a la variable del sonido que empiece a reproducirse en un segundo calculado a partir de la posición de fin de arrastre de la barra deslizante.
}

Espero que sirva
__________________
Lo maravilloso de aprender es que nadie puede arrebatárnoslo.
"B.B.King"

  #3 (permalink)  
Antiguo 07/04/2003, 19:32
Avatar de axa
axa
 
Fecha de Ingreso: enero-2002
Mensajes: 396
Antigüedad: 22 años, 9 meses
Puntos: 0
Solucion Alternativa:

1º Crea un nuevo MC, llamalo "barrita_mc".
2º Dentro de este creas un Boton y lo llamas "slider_btn".
3º Crea 2 botones mas "play_btn" y "stop_btn".
4º Crea una carpera en el directorio donde tienes el .fla que estamos trabajando. La llamas "canciones", y dentro de esta pon tu archivo .mp3 con la narración, el sonido o lo que sea, lo llamas "cancion.mp3", esto es para no modificar el .fla si quieres cambiar el sonido.

Ahora las acciones:

En el primer frame de barrita
Una variable de control del drag:
Código:
drag=false;
Asignamos las acciones para los eventos
press y release del boton "slider_btn"
En press:
Código:
	startDrag("slider_btn", false, 0, 0, 100, 0);
	drag = true;
En release:
Código:
	sonido_sound.stop();
	sonido_sound.start(posicion,0);
	drag = false;
	stopDrag();
Donde: posicion viene dado por esta formula: posicion = (slider_btn._x * Math.round(sonido_sound.duration/1000)) / 100;
Que convierte la cordenada x de "slider_btn" en una posicion en "sonido_sound".
En el evento release del boton "play_btn" Creamos el manejador del evento EnterFrame del MC que contiene a barrita_mc:
Código:
_parent.onEnterFrame = function() {
		if(!drag) {
			//Con esto vaiamos la coordenada x de "slider_btn"
			//acorde con la posicion actual de "sonido_sound"
			slider_btn._x = Math.floor((sonido_sound.position * 100) / sonido_sound.duration);
		}
	};
ademas de:
Código:
	sonido_sound.stop();
	sonido_sound.start(0,0);
Ahora solo faltan las acciones del manejador del evento release del "stop_btn":
Código:
//Eliminamos el onEnterFrame para no desaprovechar recursos
	delete _parent.onEnterFrame;
	sonido_sound.stop();
Si tienes dudas, avisa.
Nos vemos bro...
__________________
axa
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 16:23.