Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

JAVA Sound. Stellt low-level Routinen zur Soundverarbeitung bereit media/sound/index.jsp Java Sound:

Ähnliche Präsentationen


Präsentation zum Thema: "JAVA Sound. Stellt low-level Routinen zur Soundverarbeitung bereit media/sound/index.jsp Java Sound:"—  Präsentation transkript:

1 JAVA Sound

2 Stellt low-level Routinen zur Soundverarbeitung bereit media/sound/index.jsp Java Sound:

3 Wiedergabe Aufnahme Java Sound Soundausgabe vorrichtungen Daten verarbeitung VM Applikation OS-Hardware

4 Java Sound Programm muss sich selbst um die Verwaltung elementarer an der Soundverarbeitung beteiligter Datenstrukturen kümmern. Zu diesen gehören Mixer, Line, Format, etc.. Diese Ressourcen werden von der Klasse AudioSystem verwaltet.

5 Mixer Entspricht einer Vorrichtung zur Verwaltung und Modifikation von Audiosignalen. Diese kann sowohl in Hard- als auch in Software vorliegen. Verfügt über ein und Ausgabekanäle (Lines) diese sind ihrerseits mit Kanälen des Betriebssystems oder der Hardware verbunden.

6 Mixer

7 Lines Lines sind die eigentlichen Ein- und Ausgabekanäle. Sie stellen die Schnittstelle zwischen den eingehenden Audioinformationen und einem Mixer dar. Können von AudioSystem oder einem assoziierten Mixer bereitgestellt werden.

8 Clip und SourceDataLine Bei diesen Klassen handelt es sich um Lines. Clip wird genutzt um auf eine Audioquelle zuzugreifen, die vollständig im Voraus geladen werden kann. SourceDataLines stellen die Möglichkeit bereit, eine Audioquelle stückweise in einen Puffer einzuladen und auszugeben, der erheblich kleiner ist, als die Quelle selbst.

9 SourceDataLine Der Benutzer lädt Daten in den Puffer hinein, diese werden dann an den Mixer weitergegeben. Die Kommunikation über den Status der Line erfolgt über Events.

10 Java Sound Der Benutzer (also das Programm) muss sich selbständig um die Details der Medienwiedergabe und bestimmte Aufgaben wie Streaming etc. kümmern. Dies ermöglicht jedoch auch weitgehende Kontrolle über den Ablauf.

11 Java Media Framework (JMF): media/jmf/index.jsp 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).

12 JMF Verfügt bsplw. über eine Player API. Weitere API‘s stellen Routinen zum Capturen zur Konvertierung und zur Weiterverarbeitung von Medienquellen

13 Player API Ermöglicht die Wiedergabe einer Vielzahl von Medienformaten. Wiedergabemechanismus ist weitgehend unabhängig von der jeweiligen Ausprägung der Medienquelle (Stream, lokale Datei etc.)

14 Player API Kann mit URL initialisiert werden. Übernimmt selbständig Prefetching, Streamverarbeitung und weitere Interna der Medienwiedergabe. Benutzer muss nur noch den Status des Players beachten und nicht direkt mit den Bereitstellungsmechanismen der Medienquellen kommunizieren.

15 Player API

16 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.

17 Mp3 und Ogg Vorbis

18 MP3 - vom Frauenhofer Institut entwickelt - Komprimierung durch Informationsverlust Ogg Vorbis - im Gegensatz zu MP3 freies Format - Komprimierung durch Informationsverlust

19 Adressen der Soundbibliotheken -http://www.javazoom.net/projects.html -http://www.jcraft.com/jorbis/

20 SPI und Plugin -http://www.javazoom.net/mp3spi/documents.html -http://www.javazoom.net/vorbisspi/documents.html -http://www.tritonus.org/plugins.html

21 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);//Teil der Standard java Sound Bib. baseFormat = baseFileFormat.getFormat();// Teil der Standard java Sound Bib. // 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:


Herunterladen ppt "JAVA Sound. Stellt low-level Routinen zur Soundverarbeitung bereit media/sound/index.jsp Java Sound:"

Ähnliche Präsentationen


Google-Anzeigen