JMF Player spielt mp3 nur ohne Ton

Lexi

Bekanntes Mitglied
Guten Tag :)

Java:
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import javax.media.AudioDeviceUnavailableEvent;
import javax.media.ControllerAdapter;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.StartEvent;
import javax.media.StopEvent;

public class PlayerTest3 {
	public static void main(String[] args){
		Player p = null;
		ControllerAdapter ca = new ControllerAdapter();
		ControllerListener cl = new ControllerAdapter(){
			@Override
			public void endOfMedia(EndOfMediaEvent e){
				System.out.println("EndOfMedia");
			}
			@Override
			public void audioDeviceUnavailable(AudioDeviceUnavailableEvent e){
				System.out.println("Audiodevice is not availible");
			}
			@Override
			public void start(StartEvent se){
				System.out.println("Got startEvent");
			}

			@Override
			public void stop(StopEvent se){
				System.out.println("Got stopEvent");
			}
		};

		try {
			p = Manager.createPlayer(new URL("file:///home/delexi/Musik/test.mp3"));
		} catch (NoPlayerException e) {
			// FIXME Auto-generated catch block
			e.printStackTrace();
		} catch (MalformedURLException e) {
			// FIXME Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// FIXME Auto-generated catch block
			e.printStackTrace();
		}
		p.addControllerListener(cl);
		System.out.println("Created");

		p.prefetch();
		System.out.println("Prefetched");
		p.realize();
		System.out.println("Realized");
		p.start();
		System.out.println("Started");
	}
}

Wenn ich oben stehenden Code ausführe bekomme ich zunächste einmal Folgendes auf der Konsole ausgegeben:
Code:
Created
Prefetched
Realized
Started
Got startEvent
Allerdings passiert nun nichts weiter. Ich höre nichts und es wird auch kein EndOfMedia- oder StopEvent ausgelöst. Jegliche Fehlermeldungen bleiben auch aus.
Die MP3 Datei ist vollkommen in Ordnung und kann mit anderen Playern ( VLC, Rythmbox, ... ) ohne weiteres abgespielt werden.
Was mache ich falsch ?
 

The_S

Top Contributor

Lexi

Bekanntes Mitglied
In deinem alten Thread benutzt du Jlayer, sofern ich das jetzt richtig gesehen habe, ist das nicht ebenfalls total veraltet ?

Zum fmj: Kennst du eventuell ein Tutorial zu diesem Framework ?
 

The_S

Top Contributor
kA, aber als ich es damals verwendet habe, war es zumindest noch aktueller als das JMF. Beim FMJ findest du eigentlich vieles auf der Website, generell sind JMF und FMJ aber API-Kompatibel, so dass der Umstieg nicht sonderlich schwer fallen sollte.
 

Heady86

Bekanntes Mitglied
Hi,

so wie versprochen hab ichs mir mal angekuckt :)

Also dein Code läuft bei mir auch nicht, da bekomm ich die Meldung:
Unable to realize com.sun.media.amovie.AMController

Ich habs dann mal bis auf ein Minimum runtergebrochen, aber er scheint bei mir dann den Teil bei mir nicht zu mögen:
Java:
"file:///home/delexi/Musik/test.mp3"

Ich hab bei mir nämlich gar keine einzelnen mp3s rein, sondern es wird immer eine per Zufall ausgewählt, das tut komischerweise ohne Probleme. Ich poste mal den Ausschnitt, vielleicht hilft es dir ja.
Code ist nicht gerade schön und einen deprecated teil nutz ich auch, war ja aber auch nur ein Test.
Java:
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Random;

import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;


public class PlayerTest3 {

		
   private static Player player;
			
		
   public static File get (File[] fileList) {
      Random generator = new Random();
      int rnd = generator.nextInt(fileList.length);
      return fileList[rnd];
   }
		
   public static void main(String[] args) {
						
     File dir = new File("E:\\Musikvideos\\mp3");

     final File[] fileList = dir.listFiles();
			
     final File ret = PlayerTest3.get(fileList);
			
     try {
						
        player = Manager.createPlayer(ret.toURL());
						
        } catch (NoPlayerException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
        } catch (MalformedURLException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
       } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }

     player.start();
			
   }
			
}
 

Heady86

Bekanntes Mitglied
Hi,

also die oben genannte Fehlermeldung kam selbst bei meinem Code als ich ein einzelnes File aufrufen wollte, genau der gleiche Code geht aber wenn ichs wie oben über ein Verzeichnis mach. Bin bisher daraus noch nicht schlau geworden.

grüße
 

homer65

Top Contributor
Es ist doch so das das JMF von Sun aus lizenzrechtlichen Gründen gar kein MP3 mehr unterstützt. Oder irre ich mich da.
Jedenfalls habe ich bei meinem MP3 Player eine Bibliothek von JavaZOOM benutzt. Mag sein das es auch noch andere gibt.
 

Lexi

Bekanntes Mitglied
@Heady Ich habs jetzt mal mit
Code:
dir.listFiles()
und
Code:
fileList[1].toURL()
versucht, hatte allerdings keinen Erfolg.

@The_S API kompatibel heißt also, dass ich meinen jetzt geschriebenen Code genauso übernehmen kann, abgesehen von den Imports, die dann aus dem anderen Package ( fmj ) kommen müssen ?

Kann es wirklich an den Codecs liegen, wenn ich mp3 Dateien außerhalb Java ohne Probleme wiedergeben kann ?

PS: Ich verwende Ubuntu 9.10 NBR
 

Heady86

Bekanntes Mitglied
Lexi hat gesagt.:
@Heady Ich habs jetzt mal mit
Code:
dir.listFiles()
und
Code:
fileList[1].toURL()
versucht, hatte allerdings keinen Erfolg.

Hast du auch einfach mal meinen Code übernommen und den probiert obs so bei dir läuft?
Dann konnt man evtl. ein bischen einkreisen obs an dem Part mit dem Controller liegt.

Grüße
 

Lexi

Bekanntes Mitglied
Heady, dein Code bringt die gleichen Ergebnisse, wie meiner.

Muss ich eigentlich das MP3Plugin installiert haben ?
 

Lexi

Bekanntes Mitglied
Das MP3 Plugin habe ich installiert, allerdings hilft das ebenfalls nicht weiter.

Ist es nötig die jmf.jar und die mp3plugin.jar in das /lib/ext/ Verzeichnis der JRE zu kopieren und dann den "java com.sun.media.codec.audio.mp3.JavaDecoder" Befehl auszuführen ? Kann man das nicht auch anders lösen ? zb die beiden jars in den Class-Path mit einbinden ?

Ich werde das ganze gleich mal an meinem Windows Rechner testen und die Ergebnisse hier posten.

Hat jemand noch Ideen, was hier schief laufen könnte ?
 

The_S

Top Contributor
Schief läuft, dass du JMF mit mp3 und das auch noch unter Linux verwenden willst. Das JMF mit mp3 habe ich nur unter Windows zum Laufen gebracht, und dann auch nur, wenn ich das komplette Installationspackage verwendet habe - also nix über den Classpath eingebunden habe.

Noch mal der Tipp: Versuchs mit dem fmj oder mit javazoom.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R JLayer player spielt nur eine mp3 Datei ab Spiele- und Multimedia-Programmierung 1
N der Player bewegt sich nicht Spiele- und Multimedia-Programmierung 14
Arif Maus-Objekt im Player Klasse implementieren !? Spiele- und Multimedia-Programmierung 2
J Java Fussballspiel Player-KI in der Bewegungsphase Spiele- und Multimedia-Programmierung 4
F Windows Media Player steuern Spiele- und Multimedia-Programmierung 2
C fünf oder sechs player states? Spiele- und Multimedia-Programmierung 7
Ivan Dolvich Musik in externen Player starten Spiele- und Multimedia-Programmierung 3
G mp3 player mit javazoom Spiele- und Multimedia-Programmierung 13
P RPG Sprite-Player Anim Problem Spiele- und Multimedia-Programmierung 11
T Problem mit laufen vom Player Spiele- und Multimedia-Programmierung 3
R Spiele für den DVD Player Spiele- und Multimedia-Programmierung 6
A JMF spielt keine Videos ab Spiele- und Multimedia-Programmierung 2
C Java3D Sound spielt nur einen Sound ab. Spiele- und Multimedia-Programmierung 8
E Programmierung eines 2.5D Point&Click Adventures ohne Spieleengine machbar? Spiele- und Multimedia-Programmierung 14
J Bild ohne Quallitätsverlust skalieren Spiele- und Multimedia-Programmierung 11
E Rotation um Bildmittelpunkt ohne Affine Transform!!!!! Spiele- und Multimedia-Programmierung 13
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
B Bild ohne Image auf die Festplatte streamen Spiele- und Multimedia-Programmierung 4
Devil0s 2D Stadt Generator/2D Welt speichern OHNE Tiles Spiele- und Multimedia-Programmierung 5
H zwei ints als key in map (ohne long) Spiele- und Multimedia-Programmierung 16
M Multiplayer Game mit Frontend auf HTML5 - ohne ständigen Client Request - Möglich?! Spiele- und Multimedia-Programmierung 12
S Sounds abspielen, ohne sie jedesmal neu zu laden Spiele- und Multimedia-Programmierung 8
B Bilder in GUI ändern ohne repaint() Spiele- und Multimedia-Programmierung 6
C java 3d ohne Java3d Spiele- und Multimedia-Programmierung 28
H Skalierung eines Polygons ohne das es verschoben wird Spiele- und Multimedia-Programmierung 3
K Java3D als Applet ohne Installation von Java3d Spiele- und Multimedia-Programmierung 6
M Eigene Renderengine ohne Java3D,etc. Spiele- und Multimedia-Programmierung 19
M Aktien-Spiel ohne GUI Spiele- und Multimedia-Programmierung 28
aze Java3D: Gegenstände aufeinander zubewegen ohne Kollision Spiele- und Multimedia-Programmierung 4
A JMF ohne Installation Spiele- und Multimedia-Programmierung 4
Developer_X Sound Lautstärke ohne spezifische API regulieren Spiele- und Multimedia-Programmierung 3
M Binärbaum ohne Überlappung zeichnen Spiele- und Multimedia-Programmierung 3
T 3D-Tetris Feld neuzeichnen ohne neue Branchgroup Spiele- und Multimedia-Programmierung 18
O Java3D-Applet ohne Java3D-Runtime ausführen Spiele- und Multimedia-Programmierung 2
L klick auf ComboBox ohne ActionListener --> CPU ausgelaste Spiele- und Multimedia-Programmierung 13
H Tic Tac Toe / 3 Gewinnt OHNE Applet Spiele- und Multimedia-Programmierung 9
S 3D Objekte ohne Java3D darstellen? Spiele- und Multimedia-Programmierung 10
B Sudoku Generator ohne Solerver möglich? Spiele- und Multimedia-Programmierung 20
G Farbig zeichnen ohne java.awt.Color? Spiele- und Multimedia-Programmierung 5

Ähnliche Java Themen

Neue Themen


Oben