# jmf Java Media Framework - Liste der unterstützten Medien?



## thisismyname (15. Jan 2009)

Hi,

ich bin mir nicht sicher ob das das richtige Forum dafür ist. Ich denke aber es kommt dem am nächsten.

Ich will im Java Media Framework eine Audio-Datei abspielen. Dabei habe ich mitlerweile bereits verschiedenste Audio-Formate durchprobiert. Waves mit unterschiedlichesten Eigenschaften. Dabei bekomme ich immer den Fehler das das Audio Format nicht unterstützt wird.

[size=+1]*Jetzt bin ich auf der Suche nach einer Liste der Medien die vom Java Media Framework abgespielt werden können. *[/size]
Bin leider auch durch Google nicht fündig geworden. Hier der Programmcode:


```
imports...;
public class test1 {

	private Player audioPlayer = null;
	
	public test1(URI url) throws IOException,
		NoPlayerException,CannotRealizeException {
		
		audioPlayer = Manager.createRealizedPlayer(url.toURL());
	}
	public test1(File file) throws IOException,
		NoPlayerException, CannotRealizeException {
		
		this(file.toURI());
	}
	
	public void play() {
		audioPlayer.start();
		}
		public void stop() {
		audioPlayer.stop();
		audioPlayer.close();
		}
}
---------------------------------------------------------------
imports...;
public class JavaMediaFrameworkTEST {
	public static void main(String[] args) {
		File audioFile = new File("/home/user/datei.wav");
		try{
			test1 temp = new test1(audioFile);
			temp.play();
			Thread.sleep(20000);
			temp.stop();
		}catch(Exception e){
			System.out.println("Exception aufgetreten");
		}
	}
}
```

Und hier der Fehler:

```
Unable to handle format: LINEAR, 8000.0 Hz, 16-bit, Mono, LittleEndian, Signed, 16000.0 frame rate, FrameSize=16 bits
Failed to prefetch: com.sun.media.PlaybackEngine@16930e2
Error: Unable to prefetch com.sun.media.PlaybackEngine@16930e2
```

greetz myname


----------



## thisismyname (15. Jan 2009)

Hi,

jo, ich habs jetzt selbst gefunden unter: java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/formats.html

Leider ist es total egal in welchem Format ich den Player füttere... immer der selbe Fehler. Beispielsweise habe ich eine mp3 ins Sun Audio (.au)-Format konverstiert. Dann die Ausgabe:


```
nable to handle format: ULAW, 44100.0 Hz, 8-bit, Stereo, Signed, FrameSize=16 bits
Failed to prefetch: com.sun.media.PlaybackEngine@16930e2
Error: Unable to prefetch com.sun.media.PlaybackEngine@16930e2
```

Ich hab also wohl irgendwas an der Programmierung verpfuscht. Hat irgnedjemand vielleciht eine Idee was??

greetz myname

ps sollte ich im Falschen Forum sein -> bitte verscheibt mich doch ins richtige


----------



## The_S (15. Jan 2009)

Versuch mal das FMJ anstelle des JMF. Die APIs sind kompatibel und FMJ wird weiterentwickelt und funktioniert imho besser.

http://fmj-sf.net/


----------



## thisismyname (16. Jan 2009)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Versuch mal das FMJ anstelle des JMF. Die APIs sind kompatibel und FMJ wird weiterentwickelt und funktioniert imho besser.
> 
> http://fmj-sf.net/



Hilft mir wohl nicht wirklich weiter. Hier der Fehler mit stacktrace:


```
-> Programmstart
-> javax.media.NoPlayerException: No player found for file:/home/moritz/workspace/ferrypcm1.wav
javax.media.NoPlayerException: No player found for file:/home/moritz/workspace/ferrypcm1.wav
	at javax.media.Manager.createPlayer(Manager.java:221)
	at javax.media.Manager.createPlayer(Manager.java:247)
	at javax.media.Manager.createPlayer(Manager.java:159)
	at javax.media.Manager.createPlayer(Manager.java:83)
	at javax.media.Manager.createRealizedPlayer(Manager.java:255)
	at test1.<init>(test1.java:20)
	at test1.<init>(test1.java:25)
	at JavaMediaFrameworkTEST.main(JavaMediaFrameworkTEST.java:9)
-> Exception aufgetreten
```

Vielleicht hat jemand schon mal eine wav datei damit abgespielt?? Die könnte er vielleicht hochladen, oder mir per mail schicken. Es gibt ja auch genug freie Medien zum download!

Ich halt leider gar nicht mehr weiter (

greetz


----------



## The_S (16. Jan 2009)

Warum nicht? Fehlt evtl. der entsprechende Codec?


----------



## thisismyname (16. Jan 2009)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Warum nicht? Fehlt evtl. der entsprechende Codec?



Das ist ja mein Problem. Ich habe alle Mediadateien durchprobiert die angeblich unterstützt werden (siehe Liste oben).

Deswegen hier meine Frage: Kann jemand der schon mal eine audio-datei mit dem Framework abgespielt hat mal den code posten... oder noch besser mir die Datei zuschicken???

greetz


----------



## thisismyname (19. Jan 2009)

keine eine Idee???


----------



## peez (20. Jan 2009)

Ist da außen rum SWT?
Ich habe auch lange rumgesucht warum die gleiche Datei in einem Beispiel Player in AWT gemacht funktioniert und in einer SWT Anwendung genau deinen Fehler ausgibt.

Argument -Djava.library.path=C:\WINDOWS\system32\ hat geholfen.

Frag mich aber nicht warum das bei SWT nötig ist und bei AWT nicht ;-)


----------



## thisismyname (20. Jan 2009)

ne... der code is genau der den ich geposted hab... keine GUI drum rum gaar nix und trotzdem keine chance irgendwas abzuspielen...

(

btw ich nutze linux


----------



## algebraiker (22. Dez 2011)

Sorry wenn ich diesen alten Thread rauskrame, aber ich habe dasselbe Problem. Verwende FMJ und mein Code sieht so aus:


```
package mp3player.ui;

import java.net.URL;

import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;

public class MP3Gui extends Thread {
	private URL url;
	private MediaLocator mediaLocator;
	private Player playMP3;

	public MP3Gui(String mp3) {
		try {
			this.url = new URL(mp3);
		} catch (java.net.MalformedURLException e) {
			System.out.println(e.getMessage());
		}
	}

	public void run() {

		try {
			mediaLocator = new MediaLocator(url);
			playMP3 = Manager.createPlayer(mediaLocator);
		} catch (java.io.IOException e) {
			System.out.println(e.getMessage());
		} catch (javax.media.NoPlayerException e) {
			System.out.println(e.getMessage());
		}

		playMP3.addControllerListener(new ControllerListener() {
			public void controllerUpdate(ControllerEvent e) {
				if (e instanceof EndOfMediaEvent) {
					playMP3.stop();
					playMP3.close();
				}
			}
		});
		playMP3.realize();
		playMP3.start();
	}

	public static void main(String[] args) {
		new MP3Gui("file:///C:/Users/algebraiker/Music/yes.mp3").start();
	}
}
```

Als Exception kommt:



> 22.12.2011 17:00:41 net.sf.fmj.ds.media.content.unknown.Handler setSource
> INFO: Path: C:\Users\algebraiker\Music\yes.mp3
> 22.12.2011 17:00:41 net.sf.fmj.ds.media.content.unknown.Handler setSource
> WARNUNG: java.lang.UnsatisfiedLinkError: no jdshow in java.library.path
> ...


----------



## Ralph-Uwe (22. Dez 2011)

Hi,

vielleich hilft Dir dieser Link weiter:

http://www.java-forum.org/spiele-mu...-mp3-lied-laenge-auslesen-jmf.html#post796554

Gruß


----------



## Stephan222 (23. Dez 2011)

Schon mal mit Google nach deiner Exception gesucht?

Ich bekomm gleich als erstes Ergebnis was brauchbares:
Troubleshooting - FMJ

Der zweite Fall dort dürfte dein Problem sein.
Schießlich steht in deinem StackTrace ja:


> WARNUNG: java.lang.UnsatisfiedLinkError: no jdshow in java.library.path
> java.lang.UnsatisfiedLinkError: no jdshow in java.library.path


----------

