Java Sound ist die grundlegende Programmierschnittstelle der Referenzimplementierung von Java zur Ein- und Ausgabe von Audiodaten via Steuerdaten (MIDI) oder Bitstream-Format (beispielsweise WAV). Sie ist explizit hardwarenah angelegt und bietet Möglichkeiten zur Klangmanipulation sowie kontrollierten Pufferung der Audiowiedergabe.

Das anwenderorientierte Java Media Framework (JMF) und dessen inoffizieller Nachfolger JavaFX bauen auf Java Sound auf.

Entwicklung Java Sound wurde 1999/2000 mit der JDK-Version 1.3 veröffentlicht. In Version 1.1 war es nur mittels Applets und Suns eigenem Au-Dateiformats möglich, Töne auszugeben. Ab Version 1.2 war die Wiedergabe von WAV-, MIDI- und AIFF-Dateien unterstützt.

Mit Java Sound wurde in Version 1.3 eine universelle Schnittstelle eingeführt, welche Audiodaten hardwarenah verarbeitet und neben der Ausgabe auch die Aufnahme von Audiodaten ermöglichte. Die Unterstützung weiterer Dateiformate wurde in höhere Abstraktionsebenen ausgelagert.

In Version 1.5 wurde eine Reihe weiterer Standards implementiert, Kompatibilität mit verschiedenen Betriebssystemen hergestellt, die Ansteuerung von Ein- und Ausgabe-Geräten verbessert, Werkzeuge zur Manipulation von MIDI-Daten nachgereicht sowie eine Reihe von Bugs behoben. Seitdem werden die Audio-Funktionalitäten von Java in Softwarebibliotheken weiterentwickelt, die auf Java Sound aufbauen.

Bis 2003 wurde parallel eine Open-Source-Implementierung namens Tritonus entwickelt. Da Java selbst seit 2006 zunehmend quelloffen ist, wurde das Projekt nicht weiterverfolgt.

Struktur Java Sound spezifiziert vier Pakete, davon zwei für Dienstschnittstellen:

javax.sound.sampled definiert Schnittstellen zur Aufnahme und Wiedergabe, sowie zum Mischen von digitalem Ton javax.sound.midi definiert Schnittstellen zur MIDI-Synthese, -Sequenzierung und zum Transport von Ereignisse javax.sound.sampled.spi und javax.sound.midi.spi (SPI: Service Provider Interface = Plug-ins) definieren Schnittstellen zur Erstellung zusätzlicher Dienste durch Drittanbieter, beispielsweise Audiomischer MIDI-Synthesizer Parser, die einen neuen Audio- oder MIDI-Datentypen lesen und schreiben können Konverter zur Übersetzung zwischen unterschiedlichen Tondateiformaten

Literatur

Weblinks Java Sound API – Dokumentation des Anbieters Oracle Die Java Sound API bei Ludwig-Maximilians-Universität München

Einzelnachweise

Kategorie:Java-Programmierschnittstelle