Det kan godt lade sig gøre med lidt actionScript. Sagen er at man skal tage højde for den latenstid der opstår mellem sound.start() kommandoen og tidspunktet man faktisk hører lyden. Man kan undgå latenstiden ved at kickstarte lydmixeren med en lydfil uden lyd, og derefter starte, stoppe, starte lydene der skal mixes.
// get f5\'s audio engine to prebuffer the samples in memory
for (var i=1; i<max; i++){
eval(\"sound\"+i).start();
}
// now stop them
for (var i=1; i<max; i++){
eval(\"sound\"+i).stop();
}
// start them, since they\'re all prebuffered and everything\'
// in sync
for (var i=1; i<max; i++){
eval(\"sound\"+i).start();
}
dette eksempel kan høres her med 12 flash sync. lyde
http://www.hyperphonic.com/noizeplay/mvm/mvm_launch.html En anden meget avanceret flash lydmixer lavet af Dave Bronz
// playlist
var loopList = new Array();
loopList = [\"ding\",\"loop1\",\"loop4\",\"loop8\",\"loop6\",\"loop3\"];
// mixer
function mixer (tracks) {
this.trackList = tracks;
this.track = new Array();
this.master = new Sound();
}
// mixer methods
mixer.prototype.Init = function () { for (i=0; i<this.trackList.length;
i++) {attachMovie(\"dummy\", \"Fader\"+i, 1000+i);this.track[i] = new
Sound(\"_root.Fader\"+i);this.track[i].attachSound(this.trackList[i].toString());}this.track[0].setVolume(0);};
mixer.prototype.Play = function () { this.startTime = getTimer();for (i=0;
i<this.trackList.length; i++)
{this.track[i].start(((getTimer()-this.startTime)/1000),
10000);}_root.sync=\"sync in \"+(getTimer()-this.startTime)/1000;};
// create mixer
aMix = new mixer(loopList);
//init tracks
aMix.Init();
//playit in sync
aMix.Play();
stop ();
Håber det kan bruges
mvh geo