Externen Sound mit AS 3 laden und abspielen

Sounds müssen für Flash im MP3 Format vorliegen, um sie extern zu laden. Dazu benötigt man in AS 2, wie auch in AS 3 die Sound Klasse. Mit dieser ist es denkbar einfach einen externen Sound in Flash zu laden und abzuspielen. Die Klasse wurde in AS 3 aber um einige positive Veränderungen erweitert, auf die wir gleich zu sprechen kommen.

1. Zuerst müssen wir ein Sound Objekt erstellen:

var sound:Sound = new Sound();

2. Externen Sound laden:

sound.load(new URLRequest("sound.mp3"));

Die Methode load(URL), erwartet als Parameter eine Adresse, die in AS 3 immer konsistent mit einem URLRequest Objekt angegeben wird.

Alternativ kann man die Adresse auch vorab definieren:

var adress:URLRequest = new URLRequest("sound.mp3");

Eine andere und somit auch gleichzeitig die kürzeste Variante ist, die Adresse direkt beim Erstellen des Sound Objekts anzugeben:

var sound:Sound = new Sound(new URLRequest("sound.mp3"));

3. Sound steuern:

sound.play();

Neu in AS 3 ist, das man den Sound einem Soundkanal zuweisen muss um ihn weiter zu steuern. So ist jeder Sound der abgespielt wird, Teil eines Soundkanals und kann somit genauer gesteuert werden als noch in AS 2. Bei mehreren Sounds ist das äußerst sinnvoll. Der Soundkanal besitzt eine eigene Klasse, SoundChannel. Das dazugehörige Objekt muss aber nicht instanziert werden, sondern wird von sound.play() zurückgeliefert.

var channel:SoundChannel = sound.play();

Mit channel.stop() kann man dann den Sound auch wieder anhalten.