Hallo zusammen,
ich arbeite gerade an meiner Diplomarbeit, bei der ich einen MediaPlayer (Java Media Framework) verwende.
Es geht jetzt darum, in das aktuelle Bild etwas zu zeichnen. Das habe ich realisiert indem ich mir die GetGraphics() - Methode des MediaPlayers verwende und dann einen Kreis darauf zeichne:
Das Ganze funktioniert wunderbar, jetzt müsste ich nur bei jedem neuen Bild den Kreis anpassen (soll eine Ballerkennung werden, die sich ständig an den veränderten Ball anpasst.)
Die Frage ist, wie der MediaPlayer die Änderung eines Bildes registriert. Hierzu bräuchte ich ein Event, welches mir zurückgibt, wenn das nächste Bild geladen ist. Ich habe schon einige Events beim MediaPlayer ausprobiert, aber leider war nichts passendes dabei. Wäre toll, wenn ihr mir helfen könntet.
Danke im Voraus.
Timo
ich arbeite gerade an meiner Diplomarbeit, bei der ich einen MediaPlayer (Java Media Framework) verwende.
Es geht jetzt darum, in das aktuelle Bild etwas zu zeichnen. Das habe ich realisiert indem ich mir die GetGraphics() - Methode des MediaPlayers verwende und dann einen Kreis darauf zeichne:
mediaPlayer = Manager.createRealizedPlayer( mediaURL );
// get the components for the video and the playback controls
video = mediaPlayer.getVisualComponent();
controls = mediaPlayer.getControlPanelComponent();
if ( video != null )
add(video, BorderLayout.CENTER); // add video component to Panel
if ( controls != null )
add( controls, BorderLayout.SOUTH ); // add controls to Panel
// hier erfolgt dann das Zeichnen des Kreises
Graphics g = video.getGraphics();
//super.paintComponent(g);
g.drawOval(0, 0, 10, 10);
// get the components for the video and the playback controls
video = mediaPlayer.getVisualComponent();
controls = mediaPlayer.getControlPanelComponent();
if ( video != null )
add(video, BorderLayout.CENTER); // add video component to Panel
if ( controls != null )
add( controls, BorderLayout.SOUTH ); // add controls to Panel
// hier erfolgt dann das Zeichnen des Kreises
Graphics g = video.getGraphics();
//super.paintComponent(g);
g.drawOval(0, 0, 10, 10);
Das Ganze funktioniert wunderbar, jetzt müsste ich nur bei jedem neuen Bild den Kreis anpassen (soll eine Ballerkennung werden, die sich ständig an den veränderten Ball anpasst.)
Die Frage ist, wie der MediaPlayer die Änderung eines Bildes registriert. Hierzu bräuchte ich ein Event, welches mir zurückgibt, wenn das nächste Bild geladen ist. Ich habe schon einige Events beim MediaPlayer ausprobiert, aber leider war nichts passendes dabei. Wäre toll, wenn ihr mir helfen könntet.
Danke im Voraus.
Timo