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

Slides:



Advertisements
Ähnliche Präsentationen
programmiert April-Juni 2003 von Knut Riechmann
Advertisements

Imperative Programmierung
Surfen im Internet.
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Dateiformate Tobias Rolle IT takes more than systems …
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Kapselung , toString , equals , Java API
Archivierung und Erschließung von Audio/Video-Material mit miless und MyCoRe F. Lützenkirchen Universitätsbibliothek.
1) Versionen von Windows 7 2) Verbesserungen gegenüber Windows VISTA 3) Die neue Oberfläche 1)Der neue Desktop 2)Das neue Startmenü 3)Die neuen Themes.
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
KS-Encodier-Server Marco Korrmann / Dominik Sommer 1 KS-Encodier-Server Karlsruhe B e g r ü ß u n g.
Java: Grundlagen der Sprache
DOM (Document Object Model)
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Edgar - Ein Texteditor Ein Vortrag von Carsten Severin.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Access 2000 Datenbanken.
DVG1 - Applets1 Applets. DVG1 - Applets2 Die Klasse Applet n Applets sind Grafikobjekte, die unter Steuerung eines anderen Programms (z.B. eines Browsers,
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
FH-Hof Sound Richard Göbel. FH-Hof Geräusche in Java3D Klasse MediaContainer als Datenlieferant MediaContainer(java.io.InputStream stream). MediaContainer(java.lang.String.
Evaluierung des ITU-T.124 Telekonferenzstandards
Studienarbeit Mini-Web-Server auf einem Signalcontroller
Einführung Servlets/JSPs
Aichinger Christian, Strasser Jürgen
Videoclip in PowerPoint 2010
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
Android-App/NerdKalender
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Digitale Bibliotheken. Dient zum Aufbau und zur Verbreitung digitaler Bibliotheken Basiert auf Java Existiert seit 2000 Entwickelt wurde sie von dem New.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Netzwerkprogrammierung
App-Entwicklung mit HTML5, CSS und JavaScript
Die 7 wichtigsten Punkte zur Volumenaktivierung mit Windows 7, die Sie beachten sollten © 2009 Microsoft Corporation. Alle Rechte vorbehalten. Als IT-Experte.
Spring Framework.
CGI (Common Gateway Interface)
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Archiv Def: Siehe Digitales Langzeitarchiv.
Reinhard Stumptner Seminar Softwareentwicklung Dynamisches Laden und Binden in Java.
MP3 Davis Balija 1AHWIM 2012/2013. Inhaltsverzeichnis Was ist MP3 3 Sind MP3 Datein legal 4 Geschichte des MP3 5 Was ist streaming 6 Womit kann man MP3`s.
Verarbeitung und Computerinneres
JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik.
Multimedia in Java Thomas Witschel, Kerstin Steinert & Erik Reinhard.
1 XCDL eXtensible Characterisation Description Language Von Maike Wosnitza.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Eingereicht von:Michael Schrank Betreuung:o.Univ.-Prof. Dr. Hanspeter Mössenböck Mitbetreuung:Dipl.-Ing. Wolfgang Beer CyberStudent A Multiuser Awareness.
Bern University of Applied Sciences Engineering and Information Technology Documentation generator for XML-based description standards Ausgangslage: Die.
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
JMEDS New Features & Improvements since Nov Keywords: Framework, Explorer, Security, Network Management, Documentation, Android, UPnP, Bluetooth.
Java - AG Audio - Ausgabe mit Java 3. Juli 2001 Frank Münster.
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Streaming Media Schwerpunkt: Streaming Audio. Problem Digitale Audio- und Videodaten sind für Internetübertragungen zu groß Lange Downloadzeiten Größenreduktion.
Ein kleiner Einblick für Anfänger
MP3-Player. Produktüberblick  Ein MP3-Player oder MP3-Spieler ist ein Gerät, das digital gespeicherte MP3-Dateien abspielt. Die Bezeichnung MP3-Player.
 Ein MP3-Player oder MP3-Spieler ist ein Gerät, das digital gespeicherte MP3-Dateien abspielt. Die Bezeichnung MP3-Player wird allerdings auch für Geräte.
Rechen- und Kommunikationszentrum (RZ) Entwicklung einer Web- Oberfläche mit Apache Wicket am Beispiel des IdentityAdmins Seminarvortrag Melanie.
Mp3 und co. – Audiobearbeitung am PC. Vorteile Audio am PC Audiofiles lassen sich einfacher verwalten und weiter verarbeiten als Kassettenaufnahmen.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
Java I/O Input / Output stream Library
Icons designed by Freepik and distributed by Flaticon
Verteilte Anwendungen: J2EE
OpenLayers FEATURES DATENQUELLEN
File Objekt
Universität zu Köln | Hauptseminar Annotationssysteme
Thema 4: Klassenbibliothek
Eine Präsentation von Amed Fabrik und Alicia Sieg
Tutorstunde 10.
 Präsentation transkript:

JAVA Sound

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

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

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.

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.

Mixer

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.

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.

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.

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.

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

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

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

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.

Player API

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.

Mp3 und Ogg Vorbis

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

Adressen der Soundbibliotheken - -

SPI und Plugin

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: