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

Status
Nicht offen für weitere Antworten.

thisismyname

Mitglied
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:

Code:
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:
Code:
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
 
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:

Code:
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
 
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:

Code:
-> 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
 
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
 
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 ;-)
 
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
 
Sorry wenn ich diesen alten Thread rauskrame, aber ich habe dasselbe Problem. Verwende FMJ und mein Code sieht so aus:

Java:
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
java.lang.UnsatisfiedLinkError: no jdshow in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at net.sf.fmj.ds.media.content.unknown.Handler.setSource(Handler.java:82)
at javax.media.Manager.createPlayer(Manager.java:178)
at javax.media.Manager.createPlayer(Manager.java:247)
at javax.media.Manager.createPlayer(Manager.java:103)
at mp3player.ui.MP3Gui.run(MP3Gui.java:29)
22.12.2011 17:00:41 net.sf.fmj.media.parser.JavaSoundParser setSource
WARNUNG: javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at net.sf.fmj.media.parser.JavaSoundParser$PullSourceStreamTrack.<init>(JavaSoundParser.java:276)
at net.sf.fmj.media.parser.JavaSoundParser.doOpen(JavaSoundParser.java:149)
at net.sf.fmj.media.parser.JavaSoundParser.setSource(JavaSoundParser.java:120)
at net.sf.fmj.filtergraph.FilterGraph.getSourceCompatibleDemultiplexer(FilterGraph.java:708)
at net.sf.fmj.media.content.unknown.Handler.setSource(Handler.java:114)
at javax.media.Manager.createPlayer(Manager.java:178)
at javax.media.Manager.createPlayer(Manager.java:247)
at javax.media.Manager.createPlayer(Manager.java:103)
at mp3player.ui.MP3Gui.run(MP3Gui.java:29)
22.12.2011 17:00:41 net.sf.fmj.filtergraph.FilterGraph getSourceCompatibleDemultiplexer
WARNUNG: Skipping demux net.sf.fmj.media.parser.JavaSoundParser: javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
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
java.lang.UnsatisfiedLinkError: no jdshow in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at net.sf.fmj.ds.media.content.unknown.Handler.setSource(Handler.java:82)
at javax.media.Manager.createPlayer(Manager.java:178)
at javax.media.Manager.createPlayer(Manager.java:247)
at javax.media.Manager.createPlayer(Manager.java:159)
at mp3player.ui.MP3Gui.run(MP3Gui.java:29)
Exception in thread "Thread-0" java.lang.NullPointerException
at mp3player.ui.MP3Gui.run(MP3Gui.java:36)
No player found for file:/C:/Users/algebraiker/Music/yes.mp3
 
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
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben