Comunidad de diseño web y desarrollo en internet online

Problemas con sincronía de audio...

Citar            
MensajeEscrito el 17 Oct 2009 04:30 am
Hola, he estado desarrollando una mesa de sonido en AS2, para una banda...
tengo las pistas separadas y listas para ser loopeadas...
lo que sucede es que con ningún frame rate pude calzar lo que duran las pistas con la animación, por lo que después de unas vueltas a la animación se produce un desfase... así que, tuve que llamarlas con action script.
La idea es poder controlar el volumen de cada pista con un fader, igual que con una mesa de sonido, y es la posición en Y, del fader, la que regula el volumen...
El primer problema sucede que cuando carga aparece todo el audio de una vez, y luego se va a cero como lo determina el código asignándole la posición en Y = 0 al fader....
El segundo problema ocurre luego de cargar todo el flash, funciona muy bien, hasta que abres otra ventana o corres otra aplicación, ahí ocurre un desfase...

A alguien se le ocurre cómo solucionar esto?

este es el código que está funcionando ahora, pueden ver la animación en www.operacion.cl

Código ActionScript :

function crearSonido(identificador:String):Sound {
var clip:MovieClip = this.createEmptyMovieClip("contenedor"+this.getNextHighestDepth(), this.getNextHighestDepth());
var sonido:Sound = new Sound(clip);
sonido.attachSound(identificador);
return sonido;
} 
var bateria_snd:Sound = crearSonido("bateria");
var bajo_snd:Sound = crearSonido("bajo");
var voz_snd:Sound = crearSonido("voz");
var dj_snd:Sound = crearSonido("dj");
var teclado_snd:Sound = crearSonido("teclado");
bateria_snd.start(0, 5000);
bajo_snd.start(0, 5000); 
voz_snd.start(0, 5000); 
dj_snd.start(0, 5000); 
teclado_snd.start(0, 5000); 

slider.slideBar._y = 0;
slider.slideBar.onEnterFrame = function() {
        bajo_snd.setVolume(0-this._y);
};
slider.slideBar.onPress = function() {
        startDrag(this, false, this._x, -33, this._x, 0);
};
slider.slideBar.onRelease = slider.slideBar.onReleaseOutside=function () {
        stopDrag();
};

slider2.slideBar2._y = 0;
slider2.slideBar2.onEnterFrame = function() {
        teclado_snd.setVolume(0-this._y);
};
slider2.slideBar2.onPress = function() {
        startDrag(this, false, this._x, -33, this._x, 0);
};
slider2.slideBar2.onRelease = slider2.slideBar2.onReleaseOutside=function () {
        stopDrag();
};

slider3.slideBar3._y = 0;
slider3.slideBar3.onEnterFrame = function() {
        bateria_snd.setVolume(0-this._y);
};
slider3.slideBar3.onPress = function() {
        startDrag(this, false, this._x, -33, this._x, 0);
};
slider3.slideBar3.onRelease = slider3.slideBar3.onReleaseOutside=function () {
        stopDrag();
};

slider4.slideBar4._y = 0;
slider4.slideBar4.onEnterFrame = function() {
        dj_snd.setVolume(0-this._y);
};
slider4.slideBar4.onPress = function() {
        startDrag(this, false, this._x, -33, this._x, 0);
};
slider4.slideBar4.onRelease = slider4.slideBar4.onReleaseOutside=function () {
        stopDrag();
};

slider5.slideBar5._y = 0;
slider5.slideBar5.onEnterFrame = function() {
        voz_snd.setVolume(0-this._y);
};
slider5.slideBar5.onPress = function() {
        startDrag(this, false, this._x, -33, this._x, 0);
};
slider5.slideBar5.onRelease = slider5.slideBar5.onReleaseOutside=function () {
        stopDrag();
};
stop();

[BOFH]Cuando publiques código AS enciérralo entre las etiquetas [*as] y [*/as] (sin los asteriscos) para que sea más legible. The Fricky![/BOFH]

Por juljo

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Oct 2009 08:42 pm
La única forma de aseguyrar la sincro entre audio y video en flash es exportando un video (es decir para hacer algo como un videoclip, no una aplicación), ya que la sincro dependerá de la velocidad del procesador de tu máquina, intenta con animaciones que no necesariamente sean tan exactas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.