Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage
<< | < | > | >> | API | Kapitel 48 - Sound

## 48.1 Grundlagen und Konzepte

- 48.1 Grundlagen und Konzepte

Seit der Version 1.3 besitzt das JDK Sound-Fähigkeiten, die weit über die in Abschnitt 39.3 erläuterten Möglichkeiten hinausgehen. Mit Hilfe des Sound-APIs können Samples abgespielt oder aufgenommen werden. Es können Midi-Dateien erzeugt oder wiedergegeben werden, und es ist möglich, direkt auf angeschlossene oder eingebaute Tonerzeuger zuzugreifen. Das API abstrahiert alle für das Erzeugen und Bearbeiten von Sounds wesentlichen Konzepte und unterstützt die Erkennung und Verwendung unterschiedlichster Hardware-Komponenten.

Das Sound-API ist allerdings nicht ganz leicht zu bedienen und wird in der Literatur sehr stiefmütterlich behandelt. Die Schwierigkeiten haben mehrere Ursachen:

- Einerseits handelt es sich um ein Low-Level-API, also eines, bei dem schon zur Erzielung relativ einfacher Effekte recht viel Programmieraufwand nötig ist.
- Andererseits kann das API wenig Annahmen über standardmäßig verfügbare Hardware machen. Soll beispielsweise eine Flötenmelodie erklingen, muß das Programm erst einmal herausfinden, ob ein Synthesizer eingebaut oder über einen der Midi-Ports erreichbar ist. Zudem muß er das entsprechende Instrument zur Verfügung stellen können. Erst dann kann dieser konfiguriert und mit den entsprechenden Tonerzeugungs-Kommandos beschickt werden.
- Zu guter Letzt erfordert der Umgang mit dem Sound-API ein grundlegendes Verständnis für viele der auf diesem Gebiet relevanten Konzepte. Das API ist sehr eng an Begriffe angelehnt, die direkte Pendants in der elektronischen oder elektronikunterstützten Musik haben. Ohne ein Basiswissen in Themenbereichen wie Samples, Midi, Tracks, Timecodes, Sequencer, Synthesizer Soundbanks oder Mixer sind die korrespondierenden Klassen und Interfaces schwerlich korrekt zu verwenden.

Wir wollen deshalb in diesem Kapitel einen sehr pragmatischen Ansatz wählen. Erforderliche Begriffe werden, wo nötig, lediglich kurz erklärt, denn wir gehen davon aus, daß beim Leser bereits ein Grundstock an einschlägigen Grundkenntnissen vorhanden ist. Oder wenigstens die Bereitschaft, sich diese während des Lesens und Experimentierens anzueignen. Auch werden wir die APIs nur ansatzweise erläutern, denn mehr ist aus Platzgründen nicht möglich.

Die Beispielprogramme wurden so gewählt, daß sie einen unmittelbaren Praxisnutzen haben. Sie stellen leicht einzusetzende Routinen zum Abspielen von Samples sowie zum Erzeugen einfacher Midi-Sequenzen und zum Abspielen von Midi-Files zur Verfügung. Damit werden die wichtigsten Standardfälle beim Einsatz von Sound abgedeckt.

Das Sound-API dient als Basis für alle Arten von Sound-Support in Java. Seine Anwendungsgebiete reichen von interaktiven Applikationen oder Spielen mit Sound-Unterstützung über Media-Player und Musik-Tools bis hin zu Telefonie- und Konferenz-Applikationen. Des weiteren ist das Sound-API Basis höherer Programmierschnittstellen, wie etwa des Java Media Framework, das eine Schnittstelle zum Abspielen und Erzeugen einer ganzen Reihe von Audio- und Videoformaten zur Verfügung stellt.

|  |  |  | Die Beispiele in diesem Buch funktionieren natürlich nur dann, wenn auf dem Computer, an dem sie nachvollzogen werden sollen, eine geeignete (und vom Java-Sound-API unterstützte) Sound-Hardware vorhanden ist. Dabei handelt es sich typischerweise um eine Sound-Karte, es kann aber (wenigstens beim Midi-API) auch eine Midi-Schnittstelle mit angeschlossenem Synthesizer verwendet werden. Ist eine solche Hardware nicht verfügbar, erklingt beim Ausführen der Beispielprogramme entweder gar nichts (oder das Falsche) oder es wird eine Ausnahme ausgelöst. |  |
Warnung

Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0
<< | < | > | >> | API | © 1998-2002 Guido Krüger, http://www.javabuch.de