Java Sound

Werbung
Java Sound
Java Sound:
Stellt low-level Routinen zur Soundverarbeitung bereit. Setzt direkt auf den durch Betriebssystem und
Hardware dargebotenen Vorrichtungen zur Soundausgabe auf. Details der Ein-Ausgabe der Daten und
die Umwandlung zwischen verschiedenen Datenformaten muss der Programmierer selbst
kontrollieren. Die wichtigsten Funktionen von Java Sound sind in beinahe allen größeren JVM
Implementierungen realisiert.
Java Media Framework (JMF):
Abstrahiert von diversen, in Java integrierten, Medienbibliotheken. Durch vorgefertigte Klassen kann
das Wiedergeben, Aufzeichnen und Umwandeln von Medienquellen in einfacherer Art und Weise
gehandhabt werden als durch Verwendung der low-level Bibliotheken (bsplw. Java Sound). JMF steht
in den wichtigsten Java Implementierungen zur Verfügung.
Service Provider Interface (SPI):
SPI ist eine Schnittstelle, die es erlaubt, die Fähigkeiten der JVM zu erweitern. Diese
Funktionalitätserweiterung kann so durchgeführt werden, dass sie für den Benutzer der VM (i.A. ein
Java Programm) transparent bleibt. So können z.B. nachträglich weitere Formate der
Verarbeitungskompetenz der Java Medienbibliotheken hinzugefügt werden.
Die Adressen der Sound Libs:
- http://www.javazoom.net/projects.html
- http://www.jcraft.com/jorbis/
Adresse für den benötigten Teil von Tritonus:
- http://www.tritonus.org/plugins.html
Einführungsbeispiele für die SPIs:
- http://www.javazoom.net/mp3spi/documents.html
- http://www.javazoom.net/vorbisspi/documents.html
Ein Beispiel für das Auslesen der MP3 Header Informationen:
import org.tritonus.share.sampled.TAudioFormat;
import org.tritonus.share.sampled.file.TAudioFileFormat;
[...]
File file = new File(filename);
AudioFileFormat baseFileFormat = null;
AudioFormat baseFormat = null;
baseFileFormat = AudioSystem.getAudioFileFormat(file);
baseFormat = baseFileFormat.getFormat();
// TAudioFileFormat properties
if (baseFileFormat instanceof TAudioFileFormat)
{
Map properties = ((TAudioFileFormat)baseFileFormat).properties();
String key = "author";
String val = (String) properties.get(key);
key = "mp3.id3tagv2";
InputStream tag= (InputStream) properties.get(key);
}
// TAudioFormat properties
if (baseFormat instanceof TAudioFormat)
{
Map properties = ((TAudioFormat)baseFormat).properties();
String key = "bitrate";
Integer val = (Integer) properties.get(key);
}
(Quelle: http://www.javazoom.net/mp3spi/documents.html)
//Teil der Standard java Sound Bib.
// Teil der Standard java Sound Bib.
Herunterladen