JMF - Abspielen eines mpeg1-Videos

Status
Nicht offen für weitere Antworten.

dan kirpan

Mitglied
Hi, nach ca 2 Arbeitstagen erfolgloser Suche habe ich es geschafft...
Code:
import java.awt.*;
import java.applet.*;
import java.io.IOException;

import javax.media.*;
public class myplayer {
	public static void main(String[] args) {
		Player player = null;
		MediaLocator mrl = null;
	    String mediaFile = "file:c:/java/Video-TEST/bin/stranglehold_2006_usa_NEW.mpg";
		mrl = new MediaLocator(mediaFile);
		try {
			player = Manager.createPlayer(mrl);
		} catch (NoPlayerException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		player.start();
	}

}
Dieses schöne Script, welches ich mir aus vielen anderen zusammengebaut habe (100 % Handarbeit + Eclipse) funktioniert wie folgt, wenn man es über die Windows cmd startet: es bringt den Sound von stranglehold_2006_usa_NEW.mpg, aber kein Bild... ist ja auch irgendwie logisch, ist ja über console gestartet.

Und jetzt kommt der Hammer, warum ich das hier in den Anfängerbereich poste, obwohl jmf ja etwas fortgeschritten sein sollte: Wie schaffe ich es, dass sich a) das Script nach Ende des Videos beendet und b) sich das Video abspielt. Da ich ein Voll-Noob in Java bin, bitte einfach erklären und mir keinen Quellcode hinwerfen, die hab ich mir heut schon zu 1000enden durchgelesen und kaum was gefunden (ausser das da oben).

Das Ultimativ-Ziel ist ein Java-Videoplayer der ein Video brav abspielt. Mehr nicht ^^

Danke an alle, die sich die Mühe geben mir zu helfen!

Grüße

Dan Kirpan
 

Murray

Top Contributor
Anzeigen des Videos (eher als Minimallösung zu verstehen):
Code:
player = Manager.createRealizedPlayer(mrl);
Frame frm = new Frame();
frm.setBounds( 100, 100, 400, 300);
frm.add( player.getVisualComponent());
frm.setVisible( true);
 

dan kirpan

Mitglied
Danke!!! Jetzt weiß ich wenigstens, wie ich weiter machen muss! Ich versuchs einfach ein paar mal, und melde mich, wenn es geklappt hat und wenn nicht natürlich auch ^^
 

dan kirpan

Mitglied
Code:
import java.awt.*;
import java.io.IOException;
import javax.swing.JFrame;
import javax.media.*;
public class myplayer {
	public static void main(String[] args) {
		Player player = null;
		MediaLocator mrl = null;
	    String mediaFile = "file:c:/java/Video-TEST/bin/stranglehold_2006_usa_NEW.mpg";
		mrl = new MediaLocator(mediaFile);
		try {
			player = Manager.createRealizedPlayer(mrl);
		} catch (NoPlayerException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (CannotRealizeException e) {
			e.printStackTrace();
		}
		JFrame frm = new JFrame("MyPlayer");
		frm.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		frm.setExtendedState(JFrame.MAXIMIZED_BOTH);
		frm.add(player.getVisualComponent());
		frm.setVisible(true);
		player.start();
	}
}
JUHU!!! Es funktioniert! Ich bin allerdings von Frame auf JFrame umgestiegen, um die Methode setDefaultCloseOperation besitzen zu können. Wie geht das mit dem Eventlistener? Ich habs versucht aus der API zu lesen, aber mein Eclipse bringt mir da nur Fehlermeldungen.
 

Murray

Top Contributor
Suchst Du das?
Code:
player = Manager.createRealizedPlayer(mrl);
player.addControllerListener( 
	new ControllerListener() {
		public void controllerUpdate( ControllerEvent evt) {
			if ( evt instanceof EndOfMediaEvent) {
				System.exit( 0);
			}
		}
	});
 

dan kirpan

Mitglied
jup, ich hab soetwas in der Richtung gesucht, aber nichts funktionierendes gefunden... atm bin ich dabei, das selbe auf ein Applet zu schreiben, aber hab wieder mal Probleme mit der Ausgabe ^^

Wo ist eigentlich der wichtige Unterschied zwischen JFrame und Frame?
 

dan kirpan

Mitglied
sry, dass sagt mir nicht viel. Dass ich "import javax.swing.JFrame;" verwende sagte mir bereits, dass es Swing ist... aber wo ist der Unterschied zwischen Swing und AWT?
 

dan kirpan

Mitglied
Code:
import java.awt.Component;
import java.awt.Dimension;
import java.io.IOException;
import javax.swing.JFrame;
import javax.media.*;
public class myplayer implements ControllerListener {
	static Player player = null;
	static MediaLocator mrl = null;
	static Component visualComponent = null;
	static String mediaFile = "file:c:/java/Video-TEST/bin/stranglehold_2006_usa_NEW.mpg";
	public static void main(String[] args)  {
		mrl = new MediaLocator(mediaFile);
		try {
			player = Manager.createRealizedPlayer(mrl);
		} catch (NoPlayerException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (CannotRealizeException e) {
			e.printStackTrace();
		}
		JFrame frm = new JFrame("MyPlayer sogar nach meiner Meinung!!!");
		frm.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		frm.setExtendedState(JFrame.MAXIMIZED_BOTH);
		visualComponent = player.getVisualComponent();
		frm.add(visualComponent);
		frm.setVisible(true);
		player.start();
	}
    public synchronized void controllerUpdate(ControllerEvent event) {
    	if (event instanceof EndOfMediaEvent) {
    	    // We've reached the end of the media; rewind and
    	    // start over
    	    player.setMediaTime(new Time(0));
    	    player.start();
    	} else if (event instanceof ControllerErrorEvent) {
    	    // Tell TypicalPlayerApplet.start() to call it a day
    	    player = null;
    	    Fatal(((ControllerErrorEvent)event).getMessage());
        }
    }
    void Fatal (String s) {
    	System.err.println("FATAL ERROR: " + s);
    	throw new Error(s);
    }
}

Mein Aktueller Quelltext, für alle, die das selbe Problem haben und nichts finden können, wie ich vorvorgestern...

Ist übrigens von diesem http://java.sun.com/products/java-media/jmf/2.1.1/samples/samples/SimplePlayerApplet.java abgeleitet. Jetzt werde ich noch ein paar Änderungen machen. Wie kann ich diesen Code am besten in ein Applet machen?
 

ARadauer

Top Contributor
schieb!

selbe frage: kann man so was in ein applet packen, bzw ist es möglcih ein java applet zu schreibne, das windows media, quicktime und real media datein abspielen kann?
 

Illuvatar

Top Contributor
Zunächst mal: Dein Anfangsproblem hätte mit einem Blick in die FAQ auch ziemlich schnell gelöst werden können...

In einem Applet kannst du das grundsätzlich genauso machen. Die Datei musst du eben als URL angeben.

Probleme:
- Der User muss noch das JMF installieren
- Das Applet muss (glaube ich) signiert sein
 
E

ErikW

Gast
gude!
ich hab das auch mal probiert... aber bei mir gibts nen fehler und ich weiß nit woran es liegt! vieleicht kann mir hier jemand weiter helfen.

das is mein quelltext:
Code:
package root.GUI;

import java.awt.Toolkit;
import java.io.IOException;

import javax.swing.JFrame;
import javax.swing.WindowConstants;
import javax.media.*;

import root.ErkFrame;

public class PlayerMaske extends JFrame {

	private Player player = null;



	public PlayerMaske() {
 initPlayer("affe.mpg");
	}

	private void initPlayer(String pfad) {

		try {
			player =Manager.createRealizedPlayer(new MediaLocator(pfad)) ;
		} catch (NoPlayerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

 catch (CannotRealizeException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	player.start();
	}

}

.... und das die exaption:

javax.media.NoPlayerException: Cannot find a Player for :affe.mpeg
at javax.media.Manager.createPlayerForContent(Manager.java:1412)
at javax.media.Manager.createPlayer(Manager.java:417)
at javax.media.Manager.createRealizedPlayer(Manager.java:553)
at root.GUI.PlayerMaske.initPlayer(PlayerMaske.java:27)
at root.Start.main(Start.java:12)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P InputStream eines Musik-Streams abspielen Java Basics - Anfänger-Themen 2
X Audio: Abspielen eines OutputStreams Java Basics - Anfänger-Themen 4
K Musik abspielen Java Basics - Anfänger-Themen 4
S Youtube Video abspielen Java Basics - Anfänger-Themen 1
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
R Sound abspielen Java Basics - Anfänger-Themen 9
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
A wav-Datei abspielen Java Basics - Anfänger-Themen 3
J Java - Abspielen einer wav Datei Java Basics - Anfänger-Themen 2
Anfänger2011 Input/Output Sound abspielen - ICH VERZWEIFLE!!!! Java Basics - Anfänger-Themen 24
D Wave Datei mehrmals abspielen Java Basics - Anfänger-Themen 2
P Audio Datei abspielen Java Basics - Anfänger-Themen 18
S Vereinfacht Sounds abspielen?! Java Basics - Anfänger-Themen 3
T .wav abspielen Java Basics - Anfänger-Themen 8
P *.wav abspielen mit Anyexample Java Basics - Anfänger-Themen 3
D Sound abspielen, wo muss die .wav liegen Java Basics - Anfänger-Themen 3
2 Input/Output Sound aufnehmen/abspielen? Java Basics - Anfänger-Themen 2
Maxim6394 Problem beim Abspielen von Sounds Java Basics - Anfänger-Themen 8
SheldoN Töne abspielen auf verschiedenen Buttons Java Basics - Anfänger-Themen 17
SheldoN Sound abspielen nach Buttonklick in Applets Java Basics - Anfänger-Themen 17
F sound nur abspielen, wenn er nicht läuft Java Basics - Anfänger-Themen 6
B Problem beim Abspielen einer Videodatei Java Basics - Anfänger-Themen 4
B Tondatei abspielen Java Basics - Anfänger-Themen 11
H audio abspielen Java Basics - Anfänger-Themen 19
A Soundfile in java abspielen lassen Java Basics - Anfänger-Themen 7
Developer_X Sounds abspielen, die im internet sind (.wav) Java Basics - Anfänger-Themen 2
R WAV-Datei in textpane abspielen Java Basics - Anfänger-Themen 3
StrikeTom Fehler beim Audiodatei abspielen Java Basics - Anfänger-Themen 4
M sound abspielen Java Basics - Anfänger-Themen 3
M Volume beim Abspielen von Audio Dateien Java Basics - Anfänger-Themen 2
J VoiceChat Hilfe - Empfangene Pakete abspielen Java Basics - Anfänger-Themen 6
M Ton abspielen in einer gewissen Frequenz und lautstärke... Java Basics - Anfänger-Themen 3
C Sound abspielen Java Basics - Anfänger-Themen 6
G Video aus dem Internet abspielen Java Basics - Anfänger-Themen 6
R Probleme mit NullPointer beim Mp3 abspielen (JMF) Java Basics - Anfänger-Themen 21
S Midi-dateien Abspielen Java Basics - Anfänger-Themen 2
hdi Sounds abspielen Java Basics - Anfänger-Themen 12
K Animiertes Gif nur einmal abspielen Java Basics - Anfänger-Themen 3
S Ton mit festgelegter Frequenz abspielen Java Basics - Anfänger-Themen 2
B Kann Java Videos abspielen? Java Basics - Anfänger-Themen 2
M Sound Abspielen Java Basics - Anfänger-Themen 9
M strings rückwärts abspielen (schleife?) Java Basics - Anfänger-Themen 33
F mp3 File abspielen Java Basics - Anfänger-Themen 15
U Ton abspielen Java Basics - Anfänger-Themen 23
G Sound bei buttonklick abspielen Java Basics - Anfänger-Themen 7
B Sound einbinden und abspielen Java Basics - Anfänger-Themen 9
E MP3s in Java abspielen Java Basics - Anfänger-Themen 2
G *.au Datei einbinden und abspielen Java Basics - Anfänger-Themen 4
F musik datei mit jmf abspielen Java Basics - Anfänger-Themen 5
D .wav Sound in einer simplen Applikation abspielen Java Basics - Anfänger-Themen 3
B Midi-File Abspielen Java Basics - Anfänger-Themen 14
T Filme ohne JMF abspielen Java Basics - Anfänger-Themen 7
D aufnehmen, abspielen und vergleichen von Sounds Java Basics - Anfänger-Themen 2
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
laxla123 Eigenschaften eines Algorithmus (determiniert vs.. deterministisch) Java Basics - Anfänger-Themen 2
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
J Farbe des Striches eines TitledBorders ändern Java Basics - Anfänger-Themen 2
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
walid Öffnungszeiten eines Geschäftes Java Basics - Anfänger-Themen 3
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
B Synchronisation eines kleinen Museums Java Basics - Anfänger-Themen 47
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
Sachinbhatt Was ist die Notwendigkeit eines Sammlungsframeworks in Java? Java Basics - Anfänger-Themen 2
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
B Produkt eines double - streams Java Basics - Anfänger-Themen 3
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
M Parse-Tree eines statements darstellen Java Basics - Anfänger-Themen 0
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
J Hinzufügen eines Objektes in ein Objekt-Array Java Basics - Anfänger-Themen 62
M Wie kann die Implementation einer Methode den Wert eines Attributs vermindern? Java Basics - Anfänger-Themen 3
A Rekursive Implementation eines Codes Java Basics - Anfänger-Themen 4
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
M Wie erreiche ich das Vorwärtsgehen eines Roboters? Java Basics - Anfänger-Themen 2
M Wie erreiche ich es das Vorwärtsgehen eines Roboters? Java Basics - Anfänger-Themen 0
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
melisax Alle Möglichkeiten eines Wortes angeben Java Basics - Anfänger-Themen 3
A Java, verarbeitung eines xml-files Java Basics - Anfänger-Themen 2
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
C Überprüfen eines Programms auf Syntaxfehler Java Basics - Anfänger-Themen 3
S Wie kann ich den Bereich eines Integers begrenzen? Java Basics - Anfänger-Themen 2
nonickatall Grundsätzliches Verständnisproblem des Aufbaus eines Programms Java Basics - Anfänger-Themen 19

Ähnliche Java Themen

Neue Themen


Oben