Aufgabe 1: Audiodateien abspielen
-
In dieser Übung werden wir den bisher entwickelten Audioplayer weiter verbessern. Dieser soll nun echte Audiodateien abspielen können. Prüfen Sie zunächst in Processing unter Tools > Tools verwalten... > Libraries ob bei Ihnen die Sound-Library und die minim-Library installiert sind. Anderenfalls installieren Sie diese bitte mit Installieren.
Als nächstes benötigen wir Audiodateien zum Abspielen. Laden Sie sich die ZIP-Datei unter diesem Link herunter, die fünf Audiodateien enthält oder nehmen Sie eigene Audiodateien. Processing unterstützt die Formate WAV, AIF/AIFF und MP3. Wenn es beim Abspielen von MP3-Dateien Probleme gibt, hilft erfahrungsgemäß das Recodieren als WAV-Datei. Entpacken Sie das Archiv in das
data-Verzeichnis Ihrer Anwendung, sodass die Audiodateien direkt imdata-Verzeichnis liegen.Wir verwenden für das Abspielen der Dateien die Funktionalitäten von Processing und nicht die unterlagerten Java-Bibliotheken. Darum werden die Audiodateien durch Aufruf der passenden Processing-Methoden in der
draw()-Methode abgespielt. Da Processing automatisch auf seindata-Verzeichnis zugreifen kann, benötigen Sie für den Zugriff auf die Dateien keinen Aufruf derdataPath()-Methode. Wenn Audiodateien aufgerufen werden schaut Processing eigenständig nach, ob diese im Sketch-Verzeichnis oder im Unterverzeichnisdatadieses Verzeichnisses liegen.Laden Sie die Audiodateien zunächst in der
setup()-Methode, wie auf den Vorlesungsfolien beschrieben. Speichern Sie diese am besten in einem Feld und spielen Sie diese dann in derdraw()-Methode ab. Nutzen Sie dafür am besten in derdraw()-Methode eineswitch-Anweisung, in der die jeweilige Audiodatei gemäß ihrer Indexposition im Feld ausgewählt wird. Die Indexposition der aktuell abzuspielenden Datei wird vom Ereignisbehandler gesetzt. Dies geschieht in Abhängigkeit vom jeweils gedrückten Radio Button. Bauen Sie Ihren Audioplayer soweit aus, dass folgende Rahmenbedingungen eingehalten werden:
-
Zu jeder Audiodatei gibt es eine Information, die im Textfeld angezeigt wird, sobald die Audiodatei über die Radio Buttons gestartet wird.
Abb. 1: Information zu einer Aufnahme mit Slide-Gitarre im oberen Textfeld
Verwalten Sie die Informationen am besten in einem Zeichenkettenfeld, sodass sie im Ereignisbehandler mit dem gleichen Indexwert abgerufen werden können, wie die Audiodatei.
-
Sofern eine Audiodatei abgespielt wird, führt das Drücken eines neuen Radio Buttons dazu, dass die gerade laufende Audiodatei durch Aufruf der Methode
pause()pausiert wird, bevor die neue Audiodatei abgespielt wird. Dies ist insofern wichtig, weil anderenfalls mehrere Audiodateien gleichzeitig abgespielt würden. Wird der Audioplayer abgeschaltet, so wird eine laufende Audiodatei ebenfalls pausiert. Ganz allgemein ist die Logik der Audiobibliothek so, dass das Abspielen von Audiodateien nicht gestoppt, sondern immer nur pausiert wird. Soll das Abspielen am Anfang einer Datei fortgesetzt werden, so muss der Zeitpunkt des Abspielens mit
cueneu gesetzt werden. Lesen Sie hierzu bitte den Abschnitt SoundFile in der Processing-Dokumentation.
-