#tutorials.de RSS-Feed tutorials.de - CMS RSS-Feed tutorials.de - User helfen Usern __________________________________________________________________ * Startseite + PHP + Java + C/C++ + .NET + Datenbanken & XML + Sonstige Sprachen + tutorials.de Redaktion * Forum * Bild, 3D, Video & Audio * Webmaster & Internet * Programming * Computer & Devices ____________________ [search.png]-Submit * Suche * Startseite * Startseite * Programming * Java * Java Media Framework __________________________________________________________________ * * Java Media Framework von thomasbe Artikel bewerten + (*) Hervorragend + ( ) Gut + ( ) Durchschnittlich + ( ) Schlecht + ( ) Schrecklich + Jetzt abstimmen Veröffentlicht: 18.12.08 00:31 Seitenaufrufe: 1963 0 Kommentare Kommentare Einleitung So Willkommen zu meinem ersten Tutorial. Da ich das zum ersten mal mache, seit ein bisschen Nachsichtig wenn ich Fehler mache Ich erkläre euch jetzt in kurzen knappen Schritten wie man mithilfe der JMF (Java Media Framework) von Sun Audio Dateien abspielen kann. Die Library findet ihr unter diesem Link: http://java.sun.com/javase/technolog.../download.html Nachdem ihr das Package in euer Projekt eingebunden habt, kann es dann auch schon losgehen. Allgemeines Die Java Media Framework ist eine Java-Bibliothek zur Handhabung von Audio- und Videodaten. Das API unterstützt das Aufnehmen von Mikrofon und Kamera und erlaubt das Einlesen und Speichern von Audio/Video-Formaten. Die JMF unterstützt folgende Medientypen: * Protokolle: FILE, HTTP, FTP, RTP * Audio: AIFF, AU, AVI, GSM, MIDI, MP2, MP3*, QT, RMF, WAV * Video: AVI, MPEG-1, QT, H.261, H.263 * Sonstige: HotMedia Das abspielen von Audio-Dateien Als erstes brauchen wir den Pfad zu der Audio-Datei, damit wir damit der Player erzeugen können. Hierzu erzeugt ihr einfach die Klasse File: Code : 1 2 String Pfad = "C:\\Test.mp3" File datei = new File(Pfad) Die Klasse File, findet sich in folgendem package: Code : 1 import java.io.File; Als nächstes erzeugen wir den Player aus der JMF. Dazu binden wir dieses Package ein: Code : 1 import javax.media.*; Danach erzeugen wir den Player und geben ihm die Audio-Datei mit: Code : 1 private Player audioPlayer = Manager.createRealizedPlayer(file.toURL()); Danach müssen wir eigentlich nur noch sagen, dass er starten soll. Das geht so: Code : 1 audioPlayer.start(); Wir sind jetzt schon soweit, dass unsere Audio-Dateien abgespielt werden können. Die JMF kann aber noch viel mehr mit den Audio Dateien anfangen: Laustärke setzen Um die Laustärke unseres Players zu setzen müssen wir einfach nur der folgenden Funktion einen float Wert übergeben: Code : 1 audioPlayer.getGainControl().setLevel(100); Der Wert 100 ist dabei die lauteste Einstellung und 0 die leiseste. Also kurz gesagt Mute, wo wir schon beim nächsten Punkt sind. Mute Um den Player lautlos zu setzen können wir wenn die Lautstärke auf 0 setzen oder einfach diese Funktion benutzen: Code : 1 audioPlayer.getGainControl().setMute(false); Zeit setzen Um den Player ab einer bestimmten Zeit zu starten, kann man dieser Funktion die Zeit in einem float Wert übergeben: Code : 1 audioPlayer.setMediaTime(new Time(150)); Diese Funktion ist vorallem praktisch, wenn man während der Wiedergabe Pause machen will. Hierzu müsst ihr euch einfach nur die Zeit merken und sie bei Play wieder setzen. Die Zeit kann man wie folgt auslesen: Code : 1 audioPlayer.getDuration().getSeconds() Als kleiner Tipp zeig ich euch hier wie man die Sekunden umrechnen kann, in einen String (z.B. 3:34): Code : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 String SekundenUmrechnen(int sekunden){ String zeit = ""; int sek1 = 1; int min = (60*sek1); int std = (60*min); int minerg = (sekunden%std)/(min); int sekerg = (sekunden%min*sek1); zeit = Integer.toString(minerg) + ":"; if(sekerg < 10) zeit = zeit + "0" + Integer.toString(sekerg); else zeit = zeit + Integer.toString(sekerg); return zeit; } Stop Um die Wiedergabe der Audiodatei zu stoppen benuzt man folgende Funktion: Code : 1 audioPlayer.stop(); Eine Timeline anzeigen Als abschließenden Tipp zeige ich euch nun jetzt noch wie man sich ganz einfach aus einem jSlider eine Timeline machen kann. Als erstes braucht ihr einen Refresh Thread der euch immer den jSlider aus einer Schleife heraus updatet (erneuert). Aus diesem Refresher Thread wird ein Runnable Thread aufgerufen, der für das auslesen des Players zuständig ist. Die Schleife läuft insgesamt solange durch wie die Datei gespielt wird. Code : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 //Refresh Thread refresherThread = new Thread() { { setPriority(Thread.MIN_PRIORITY); } public void run() { try { while (runnable != null) { SwingUtilities.invokeLater(runnable); sleep(100); } } catch (InterruptedException e) { e.printStackTrace(); } } }; //Runnable Thread runnable = new Runnable() { public void run() { jSlider.setValue((int)audioPlayer.getMediaTime().getSeconds()); } }; So damit habt ihr schonmal die wichtigsten Funktionen der JMF kennen gelernt im nächsten Tutorial erkläre ich euch dann, wie man Video-Dateien abspielt. Bis dahin viel Spass beim nachmachen. Gruß Thomas ______________________________________________________________ 1. Kategorien: 2. Tutorials, 3. Programming-Tutorials, 4. Java - Sonstiges Stichworte : framework, java, media * Login Benutzerna Kennwort__ __________ [X] Angemeldet bleiben? Anmelden Kostenlos registrieren Bereiche * Tutorials * Bild, 3D, Video & Audio + Bildbearbeitung + Fotografie + 3D-Grafik + Video + Audio + Vektorgrafik + Typografie & DTP + Inspiration * Webmaster & Internet + Web-News + CMS + Web-Entwicklung * Programming + PHP + Java + C/C++ + .NET + Datenbanken & XML + Sonstige Sprachen * Computer & Devices + Betriebssysteme + Server + Software + Hardware * Buch-Empfehlungen Tutorials Bild, 3D, Video & Audio Bildbearbeitung Fotografie 3D-Grafik Video Audio Vektorgrafik Typografie & DTP Inspiration Webmaster & Internet Web-News CMS Web-Entwicklung Programming PHP Java C/C++ .NET Datenbanken & XML Sonstige Sprachen Computer & Devices Betriebssysteme Server Software Hardware Buch-Empfehlungen Kategorien Events & Contests (38) Java - Algorithmen & Datenstrukturen (3) Java - Sonstiges (29) JEE, J2EE, Spring & Co (3) Programming-News (10) Programming-Tutorials (346) Swing, Java2D/3D, SWT, JFace (4) Tutorials (805) tutorials.de intern (69) Videotutorials (214) Werkzeuge / IDEs (24) Forum - Programming AW: 2 Variablen nach 1 sortieren PHP-Code: array(15) { [0]=> array(4) { ["name"]=> string(8) "Facebook" ["number"] => int(85364233) ["talking"]=> TheSchmidey 23.01.13, 17:22 Gehe zum letzten Beitrag AW: Uhrzeit differenz ausrechnen Ist ok jetzt funktioniert es ja. Computerfreak90 23.01.13, 17:16 Gehe zum letzten Beitrag AW: Erweiterte Statistiken Hm.. du hast mich da auf ein paar gute Ideen gebracht. Die frage, welche Seite wurde genau wie oft vor 6 Monaten aufgerufen ist sehr uninteressant. String 23.01.13, 16:50 Gehe zum letzten Beitrag VBA: Werte "flexibel" aus Mappe 1 nach Mappe 2 kopiren ... ... ohne Mappe 1 zu öffnen Hallo, bei nachfolgendem Code hänge ich schon den ganzen Tag fest. Der Code stammt nicht _opiWahn_ 23.01.13, 16:38 Gehe zum letzten Beitrag AW: 2 Variablen nach 1 sortieren mach mal ein var_dump() vor dem Funktionsaufruf auf $myVars und poste das Resultat hier. Yaslaw 23.01.13, 15:44 Gehe zum letzten Beitrag Newsletter @ tutorials.de Sobald es etwas Interessantes - wie z.B. unsere beliebten Buch-Verschenkaktionen - gibt, erhältst du unseren regelmäßig erscheinenden Newsletter. Natürlich kostenlos und jederzeit abbestellbar! E-Mail: email@adresse.xy_______ Los (*) Abonnieren ( ) Abbestellen * Kontakt * tutorials.de - User helfen Usern * Nach oben Powered by vBulletin® Version 4.2.0 (Deutsch) - Copyright ©2013 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten. SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc. tut orials.de tut informieren tut dir helfen tut kooperieren ©2000-2013 tutorials.de Alle Rechte vorbehalten tutorials.de @ Twitter tutorials.de @ Facebook tutorials.de @ Youtube * » Impressum * » Nutzungsregeln * » Netiquette * » Team * » Redaktion * » Tutorials * » Videotutorials * » Showroom * » Events & Contests * » Chat * » RSS-Feed * » der-webdesigner.net * » DesignerInAction * » Design Nation * » Directorforum * » Flashhilfe * » PHP-Resource * » PHPwelt * » PSD-Tutorials * » Terrashop