Toon posts:

[java & JMF] methode na klaar zijn video

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik ben bezig een applicatie te maken waarin videobeelden op het scherm gezet moeten worden. als de 1e video klaar is moet de volgende gestart worden.

het afspelen van een video werkt prima maar ik wil een methode laten starten als de video klaar is (einde speeltijd van het bestand)

ik heb na wat zoekwerk gevonden dat als je de methode getState() aanroept je een integer terug krijgt met de status van de player (500 staat voor klaar met afspelen)

ik heb een uitbreiding gemaakt op de klasse MediaPlayer om het gemakkelijker en overzichtelijker te houden

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import javax.media.bean.playerbean.*;

public class MijnMediaPlayer extends MediaPlayer {

  private void slaap(int tijd) {
    try {
      Thread.sleep(tijd);
    }
    catch (InterruptedException e) {}
  }

  public void stopOpTijd() {
    //als getstate() 500 is moet stoppenMaar() aangeroepen worden
    while (getState() != 500) {
      //niets doen alleen n beetje t systeem ontlasten door ff te slapen
      slaap(50);
    }
    stoppenMaar();
  }

  private void stoppenMaar() {
    stopAndDeallocate();
    setVisible(false);
    System.out.println("De volgende video mag nu gestart worden!");
  }
}

nu voert ie de methode helemaal netjes uit zoals het hoord maar tijdens het afspelen van de video (als ie in de while loop zit) hangt de applicatie. ik kan dan niets meer buiten het afkijken van de video. als hij weer uit de while loop komt dan werkt alles weer normaal

heeft iemand een oplossing voor dit probleem?

  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 24-05 20:08
Gebruik je wel een aparte thread om te checken of hij gestopt is ?

[ Voor 71% gewijzigd door Dash2in1 op 27-12-2003 18:07 ]