Sounddateien in Applets

Sounddateien lassen sich ziemlich einfach in ein Applet einbinden, wozu nur wenige Zeilen Code nötig sind. Ich möchte in diesem Kapitel anhand von unserem BallBounce - Applet aus dem letzten Kapitel zeigen, wie man eine Sounddatei (*.au Format, *.wav kann Java nicht lesen!!) in ein Applet lädt, und diese immer dann, wenn der Ball von der Wand abprallt, abspielen kann.

Zunächst müssen wir eine Objektreferenz auf ein AudioClip - Objekt schaffen durch die wir nach dem Laden der Audiodatei auf den Clip zugreifen können. Wir deklarieren also eine Instanzvariable vom Typ AudioClip namens bounce.

Aus einem Grund, der mir nicht bekannt ist, liefert InternetExplorer 5 bei meinem Rechner einen Fehler, wenn diese Variable private oder public ist, daher habe ich sie ohne Zugriffsspezifikator deklariert.
Nun müssen wir die Datei in der init() - Methode (oder an einer anderen Stelle im Applet) laden (Achtung: Um diesen Befehl ausführen zu können, müssen die Klassen java.net.* und java.applet.* importiert worden sein!!). Dies kann mit folgendem Code geschehen:

Die Audiodatei kann nun mit dem Befehl bounce.play() an jeder Stelle der Klasse abgespielt werden.

Wenn die Audiodatein in einem Unterordner liegen, der z. B. audio heißt, dann kann man die Dateien mit bounce = getAudioClip (getCodeBase(), "audio/bounce.au"); laden. Leider lassen sich, wie oben schon erwähnt keine *.wav - Dateien, die wesentlich gebräuchlicher sind als *.au - Dateien, in Applets abspielen. Man kann aber mit den meisten Wave - Editoren (z. B. die Shareware GoldWave) *.wav - Dateien in *.au - Dateien umwandeln. Es müssen jedoch zusätzlich 8 Bit, 8000 khz, Mono Dateien sein. Alles in Allem ist das Umwandeln etwas kompliziert, ihr findet aber bei vielen Java Spielen, die zum Runterladen im Netz stehen, *.au - Sounddateien, die ihr ja fürs erste mal verwenden könnt.

SourceCode download
Applet ansehen

Nächstes Kapitel

Einbinden von Bildern in Applets