Raketenspiel

Status
Nicht offen für weitere Antworten.

Nando

Mitglied
Hallo liebes Forum

Für eine Messe soll ich ein Raketenspiel entwickeln.
Es soll eine Rakete solange dampfen(vor dem Start) bis durch ein Barcode der Inputgegeben wird und die Rakete davon fliegt. Es erscheint der Preis den man gewonnen hat und der Loop fängt von neuem an.

Da Java3d zu kompliziert und träge ist, Rendere ich die Rakete in Cinema4d und Fryrender als normales Video (MPG).
Es entstehen also zwei Videos:
- ein dampfendes Video (wird geloopt)
- ein Video bei dem die Rakete startet (wird einmal abgespielt)

Der Barcodeleser sowie auch das Spiel habe ich erfolgreich realisiert/integriert.
Das einzige Problem ist die Videowiedergabe. Dazu verwende ich die JMF Libary.
Ich erstelle eine MediaPanel Klasse die ich dem Frame adde. Nun möchte ich gerne dem MediaPanel zwei funktionen programmieren.

1: raketenLoop(): soll das Video test.mpg sollange wiederholen bis funktion 2 ausgeführt wird:
2: raketenStart(): soll das Video test.mpg durch test2.mpg ersetzen und einmal abspielen.

Hat jemand Erfahrung mit JMF der mir diese Frage vieleicht beantworten kann?
Gibt es allenfalls noch einen einfacheren weg diese Aufgabe zu lösen ohne JMF?

Vielen Dank schon im Voraus
Nando


Java:
import java.awt.Component;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.Time;
import javax.swing.JPanel;
   
public class MediaPanel extends JPanel {
	Player mediaPlayer = null;
	public MediaPanel() {
		URL mediaURL = null;
        try {
           //Das File von folgendem URL holen
           mediaURL = new URL("file:/C:/Users/nando.marocco/Desktop/schrödergame/test/vid/test.mpg");
        } catch ( MalformedURLException malformedURLException ) {
             System.err.println( "Das File wurde nicht gefunden." );
        } 
        
		Manager.setHint( Manager.LIGHTWEIGHT_RENDERER, true );
		
		try {
			this.mediaPlayer = Manager.createRealizedPlayer( mediaURL ); //einen Player erstellen
			Component video = mediaPlayer.getVisualComponent(); //Dem Player den videocomponenten adden
            if ( video != null )
                add( video ); // den videocomponenten auf das Panel adden
                
		} catch ( NoPlayerException noPlayerException ) {
             System.err.println( "Es wurde kein Player gefunden." );
        } catch ( CannotRealizeException cannotRealizeException ) {
             System.err.println( "Konnte den Player nicht starten." );
        } catch ( IOException iOException ) {
             System.err.println( "Falsches Format." );
        } 
	} 
	
	public void raketenLoop() {
		
		
		this.mediaPlayer.start();
                //Das Video Soll geloopt werden
		
	}
	
	public void raketenStart() {
		this.mediaPlayer.start();
		//Das Video soll ersetzt werden durch test2.mpg und einmal abgespielt werden

	}
}
 

Nando

Mitglied
ist die libary jms so unbekannt das mir niemand helfen kann?
gibt es eine andere einfache lösung um ein video in java abzuspielen?
 

Nando

Mitglied
hm und da ist loopen möglich?

ich kann doch nicht der erste sein, der eine einfache videowiedergabe will programmieren ^^?
 

Heady86

Bekanntes Mitglied
Hi,
hm und da ist loopen möglich?

dazu hab ich in einem anderen Thread einen link gepostet. Laut Threadstarter hat das mit leichten Anpassungen funktioniert, evtl. kannst du dich ja direkt an den wenden um die genauen Änderungen zu erfahren.

Grüße
 

Nando

Mitglied
Danke erstmals für die Hilfe :)
Ich werde das Wochenende die zwei verschiedenen Lösungswege probieren und die Lösung dann hier posten.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben