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
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?
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?