Wie mehrere Sounds in AS2 oder AS3 mit einer benutzerdefinierten Verzögerung zu spielen?
-
18-09-2019 - |
Frage
muss ich einen mehrgleisigen Spieler realisieren. Der Benutzer kann mehrere Tracks hochladen und (spielen sie zusammen) mischen. Mein Problem ist, dem Benutzer zu ermöglichen, eine genaue Startposition jeder Spur zu definieren, eine Synchronisation zwischen ihnen, so etwas zu erlauben:
Track. 1: beginnen bei [x] s
Track 2:. Beginnt bei [y] s
Play / Stop
, wo der Benutzer die x- und y einstellen. Ich habe versucht, es mit AS2 (mit netstream und setInterval) und AS3 (mit Netstream oder Ton und Timer) zu realisieren. Nur wenn ich die gleichen x und y beiden Spuren gleichzeitig spielen.
Lösung
Angenommen, Sie eine Zeitleiste „Motor“, die eine interne Uhr irgendeine Art hat. jeder „Tick“ der Uhr finden Sie einige Array oder Vektor überprüfen, die Ihre Spur Objekte halten und sehen, ob es ein Objekt mit einer Startzeit enthält n vom Anfang der Timeline Zecken. Oder Vielleicht ist es effizienter, ein Foto von starttimes zu machen, die in der TrackObjs Vektor vorhanden ist und überprüft, dann, wenn eine gefunden wird, um die TrackObjs Vektor laufen und all Audio erhalten, die zu diesem Zeitpunkt gestartet werden muss.
Hier tickt könnte Sekunden, 10tel, Millisekunden, was auch immer sein. finden Sie unter http://as3.casalib.org/docs/ org.casalib.time Klassen für framebased Zeitnehmung
class Track() { var startTime:int; var trackName:String; var fileName:String; }
Für die eigentliche Spiel der mehreren gemischten Klänge gibt es aus verschiedenen Bibliotheken gibt, die für Sie die meisten schweres Heben tun könnte.
http://www.gaiaflashframework.com/wiki/index.php ? title = Sound_Groups
Dies kann einigen nützlichen Code für Sie, wenn Sie es von dem Gaia Rahmen entkoppeln können müssen.
Vielleicht besser:
Matt Przybylski Soundmanager Klasse http://www.reintroducing.com
Guttershark Soundmanager Klasse http://codeendeavor.com/guttershark
Auch diese von Interesse für dynamische Klangerzeugung sein könnte:
http://code.google.com/p/benstucki/
„Flaudio ist eine dynamische Laufzeit-Audio-Erzeugung und Verarbeitung Bibliothek für Actionscript 3“
http://code.google.com/p/popforge/
„Popforge AS3 Audio-Bibliothek ermöglicht es Ihnen, ein gültiges flash.media.Sound Objekt mit dem eigenen Proben zu erstellen. Dies eröffnet neue Perspektiven für die Sound-Design mit der aktuellen Adobe Flash Player 9. bis Sie können Synthesizer, Effekte und Probe-Spieler von jedem erstellen Art. Die mitgelieferte Audiobuffer-Klasse ermöglicht Ihnen endlose Audio-Wiedergabe zu schaffen. „