mboost-dp1
Flash CS4: Forsinket lyd
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hej. Jeg er ved at lave en lille applikation i Flash. I den forbindelse har jeg brug for at afspille 2 lyde samtidigt hvorefter man som bruger kan skifte i mellem dem. Men når jeg loader dem og herefter afspiller dem, så bliver de ikke afspillet samtidigt, men med en forskydning på noget der minder om et halvt sekund. Det betyder at hvis jeg f.eks. vil lave en funktion hvor man slå forskellige spor i en sang til (bass, piano, vokaler, trommer, etc...) - så kan det ikke afvikles synkront.
Er det bare et vilkår ved Flash og ActionScript3 eller er der nogle workarounds? Jeg er ret ny i Flash.
Tak. :)
var soundA: Sound = new Sound();
var soundB: Sound = new Sound();
var channelA: SoundChannel;
var channelB: SoundChannel;
playA_btn.label = "Play A";
playB_btn.label = "Play B";
// Load sounds
soundA.load(new URLRequest("lyd1.mp3"));
soundB.load(new URLRequest("lyd2.mp3"));
// Delay until fully loaded
while ((soundA.bytesLoaded < soundA.bytesTotal) || (soundB.bytesLoaded < soundB.bytesTotal)) {
}
playA_btn.addEventListener(MouseEvent.MOUSE_DOWN, function(event: MouseEvent): void {
var trans: SoundTransform;
if ((channelA == null) && (channelB == null)) {
channelA = soundA.play();
channelB = soundB.play();
}
trans = channelA.soundTransform;
trans.volume = 1;
channelA.soundTransform = trans;
trans = channelB.soundTransform;
trans.volume = 0;
channelB.soundTransform = trans;
});
playB_btn.addEventListener(MouseEvent.MOUSE_DOWN, function(event: MouseEvent): void {
var trans: SoundTransform;
if ((channelA == null) && (channelB == null)) {
channelA = soundA.play();
channelB = soundB.play();
}
trans = channelA.soundTransform;
trans.volume = 0;
channelA.soundTransform = trans;
trans = channelB.soundTransform;
trans.volume = 1;
channelB.soundTransform = trans;
});
Er det bare et vilkår ved Flash og ActionScript3 eller er der nogle workarounds? Jeg er ret ny i Flash.
Tak. :)
Jeg har lagt en test op her:
http://www.nielsbuus.dk/ting/flash
Jeg har lige testet siden på et par andre maskiner. Den Mac jeg har lavet den på som har et "SigmaTel" lydkort har forskydning, men jeg har også en bærbar PC med et "Realtek HD" lydkort og en stationær med "Realtek HD" lydkort og de afspiller begge uden lag. Jeg tror det har noget at gøre med en buffer i det enkelte lydkort måske?
Nogen ideer?
http://www.nielsbuus.dk/ting/flash
Jeg har lige testet siden på et par andre maskiner. Den Mac jeg har lavet den på som har et "SigmaTel" lydkort har forskydning, men jeg har også en bærbar PC med et "Realtek HD" lydkort og en stationær med "Realtek HD" lydkort og de afspiller begge uden lag. Jeg tror det har noget at gøre med en buffer i det enkelte lydkort måske?
Nogen ideer?
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.