(Youtube-) Video in Swing GUI einbinden

  • Themenstarter Themenstarter avalancha
  • Beginndatum Beginndatum
A

avalancha

Gast
Hallo alle miteinander,

ich bin im Moment am Basteln und versuche in meine fast fertige Swing GUI noch ein Video einzubetten. Aber nun brauche ich bitte bitte eure Hilfe
Mithilfe des JMF und Google bin ich inzwischen so weit gekommen:

Java:
import java.awt.BorderLayout;
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.swing.JFrame;

public class MediaPanel extends JFrame {

    public MediaPanel() {
        setLayout(new BorderLayout()); // use a BorderLayout

        // Use lightweight components for Swing compatibility
        Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true);
        
        URL mediaURL = null;
        
        try {
            mediaURL = new URL("http://www.youtube.com/watch?v=Q7_Z_mQUBa8");
        } catch (MalformedURLException ex) {
            System.err.println(ex);
        }
        try {
            // create a player to play the media specified in the URL
            Player mediaPlayer = Manager.createRealizedPlayer(mediaURL);

            // get the components for the video and the playback controls
            Component video = mediaPlayer.getVisualComponent();
            Component controls = mediaPlayer.getControlPanelComponent();

            if (video != null) {
                add(video, BorderLayout.CENTER); // add video component
            }
            if (controls != null) {
                add(controls, BorderLayout.SOUTH); // add controls
            }
            mediaPlayer.start(); // start playing the media clip
        } // end try
        catch (NoPlayerException noPlayerException) {
            System.err.println("No media player found");
        } // end catch
        catch (CannotRealizeException cannotRealizeException) {
            System.err.println("Could not realize media player");
        } // end catch
        catch (IOException iOException) {
            System.err.println("Error reading from the source");
        } // end catch
    } // end MediaPanel constructor
}

Aber wenn ich das ausführe erhalte ich diesen hier:
Code:
Warning: The URL may not exist. Please check URL
No media player found

Ich hab wirklich schon ein bisschen hin und herprobiert, auch mit anderen Methoden, anderen Links, anderen Quellen (statt youtube), aber ich komme nicht zum Ziel, ich glaube einfach dass für mich "persönliche Hilfe" wo ich nachfragen stellen kann am Besten sein wird.

Ich bin für jeden Hinweis wirklich sehr dankbar!

Viele Grüße,
Patrick
 
Hmm ok das war doch zu schön um wahr zu sein. Die Links von dem Post sind inzwischen alle down.
Ich hab mir zwar die Lib inzwischen zusammengeGooglet aber ohne die Beispiel Projects wird mir das wahrsheinlich herzlich wenig bringen

Templar hast du selber mal damit was gemacht und kannst evtl. ne Demo hochladen??

Ansonsten, weitere Ideen?
 
Du solltest es ohne Weiteres in eine Swing-Anwendung einbauen können.

Also ich muss sagen ich stelle mich jetzt wahrscheinlich etwas blöd an aber: ich habe den Code gefunden, der für mich nützlich wäre und ihn versucht bei mir einzubauen, aber natürlich fehlen die Imports. Kannst du mir die .jar sagen, die ich importen muss??

Vielen Dank euch, ihr seid spitze bisher 🙂
 
Welche IDE und welches JDK verwendest Du? JavaFX ist erst ab Java8 Bestandteil der Klassenbibliothek. Derzeit wird es als eigene Runtime dazuinstalliert. Auf einem aktuellen Netbeans solltest Du keine Probleme haben. Bei Eclipse funktioniert es nicht in jedem Fall. Bei Eclipse musst Du ggf. selbst Hand anlegen: e(fx)clipse - JavaFX 2.0 Tooling and Runtime for Eclipse

Netbeans 7.1 und Java7u6, FX hab ich aber eigentlich auch manuell schon nachgelegt. Naja ich update beides mal so weit es geht und dann schauen wir nochmal. Merci mal wieder, Grüße

Btw du hast einen Tippfehler drin oder? Wäre mir neu, dass es schon 8 gibt 🙂
 
Ach so war das gemeint, ok.

Versuche grade mithilfe dieser und dieser Seite das Ding auf meinen JFrame aufzukleben. Es hakt noch ein bisschen, aber ich glaube ich könnte momentan keine konkrete Frage stellen...

Es sei denn du hättest grade ein How-To zur Hand um aus der Application ein Panel zu machen o.Ä.?

Greetings
 
Leute wie um Himmels Willen zeigt man im Netbeans GUI Builder nachträglich noch eine neue Component an? Ich hab jetzt glaub ich bald sämtliche Kombinationen von
Java:
pane.add(fxPanel);
frame.getContentPane().add(fxPanel);
revalidate();
repaint();
und was weiß ich nicht alles durch.

Das geile ist: ich höre das Video! Also so weit sind wir schonmal, jetzt muss ich es nur noch angezeigt bekommen!! 🙂

Edit: ok habs, diese Zeile muss vor das .add:
Java:
XY.setLayout(new java.awt.BorderLayout());

Edit2: es läuft, die Videos laufen tatsächlich! Guybrush TAUSEND Dank für deine Geduld. :applaus:
Ich muss jetzt noch ein bisschen mit den Größen und Anpassungen an den JFXPanels rumspielen, aber ich denke im Großen und Ganzen war es das hier, vielleicht komm ich ja nochmal mit Kleinigkeiten auf euch zu 🙂

Falls irgendjemand das hier in zig Jahren mit Google ausgräbt schreibt mich einfach an, diese E-Mail Adresse hier werde ich definitiv am Leben halten: daPUNKTheuschkelATgooglemailPUNKTcom
Aber ich kann jetzt nicht 3 Klassen und zich Änderungen hier hochladen, sorry

Eure Stichwörter für Google sind:
JFXPanel - JavaFX thread - Swing dynamically add - JavaFX2
und alle Links oben 😉
 
Zuletzt bearbeitet:

Zurück
Oben