[JAVA] JMF API

Pagina: 1
Acties:

  • Ti_Uhl
  • Registratie: Mei 2003
  • Laatst online: 19-09-2012
hallo,

Ik ben bezig met het maken van een mp3speler in java. Ik zit enkel met een paar problemen ivm het pauzeren en resumen van een mp3 :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void pauze() {
    if (state == STATE_STARTED) {
        currentTime = myPlayer.getMediaTime();
        myPlayer.stop();
        state = STATE_PAUSED; 
    }
}

public void resume() {
    if (state == STATE_PAUSED) {
        myPlayer.setMediaTime(currentTime);
        myPlayer.start();           
        state = STATE_STARTED;
    }
}


als ik in mijn main programma nu pauze() doe en vervolgens even wacht en dan resume() dan doet hij dat perfect maar ik krijg toch nog volgende error erbij :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
javax.media.ClockStartedError: setMediaTime() cannot be used on a started clock.
    at com.sun.media.BasicClock.setMediaTime(BasicClock.java:114)
    at com.sun.media.BasicController.setMediaTime(BasicController.java:619)
    at com.sun.media.amovie.AMController.setMediaTime(AMController.java:646)
    at com.sun.media.BasicPlayer.setMediaTime(BasicPlayer.java:451)
    at mp3server.MyPlayer.resume(MyPlayer.java:90)
    at mp3server.mp3server.main(mp3server.java:59)
javax.media.ClockStartedError: setMediaTime() cannot be used on a started clock.
    at com.sun.media.BasicClock.setMediaTime(BasicClock.java:114)
    at com.sun.media.BasicController.setMediaTime(BasicController.java:619)
    at com.sun.media.amovie.AMController.setMediaTime(AMController.java:646)
    at com.sun.media.BasicPlayer.setMediaTime(BasicPlayer.java:451)
    at mp3server.MyPlayer.resume(MyPlayer.java:90)
    at mp3server.mp3server.main(mp3server.java:59)

Ik doe nogthans de myPlayer.setMediaTime(currentTime) voor de start() en ik stop mijn player in de pauze method. Iemand enig idee hoe ik deze error kan oplossen. Het programma werkt wel maar die error zou er niet mogen komen.

Heeft er iemand enig idee hoe ik het volume kan veranderen in mijn java programma ?

  • apyss
  • Registratie: April 2000
  • Laatst online: 02-12-2024
Heb je het al geprobeerd met saveMediaTime() en restoreMediaTime()?
void restoreMediaTime() - Restores the media time saved by saveMediaTime so that the video resumes from the time it was stoped.

Verwijderd

Moet je uit currentTime geen timestamp oid trekken? Die currenttime van jou blijft namelijk door lopen en geeft geen houvast

  • Ti_Uhl
  • Registratie: Mei 2003
  • Laatst online: 19-09-2012
apyss schreef op 16 januari 2004 @ 10:01:
Heb je het al geprobeerd met saveMediaTime() en restoreMediaTime()?


[...]
zijn dit functies van het Player object want ik vind die precies niet...
Moet je uit currentTime geen timestamp oid trekken? Die currenttime van jou blijft namelijk door lopen en geeft geen houvast
als je currentTime in een Time object steekt dan zet hij er de timestamp in .... dat werkt perfect maar ergens probeert hij die time te verzetten terwijl de mp3 aan het spelen is terwijl ik dat helemaal niet vraag...

[ Voor 42% gewijzigd door Ti_Uhl op 16-01-2004 11:30 ]


Verwijderd

Heeft het Player object zelf geen state en pause() / resume() ?

(Ik doe een blinde gok)

  • Ti_Uhl
  • Registratie: Mei 2003
  • Laatst online: 19-09-2012
Verwijderd schreef op 16 januari 2004 @ 11:44:
Heeft het Player object zelf geen state en pause() / resume() ?

(Ik doe een blinde gok)
Nop spijtig genoeg niet :r

  • apyss
  • Registratie: April 2000
  • Laatst online: 02-12-2024
Ti_Uhl schreef op 16 januari 2004 @ 11:28:
[...]
zijn dit functies van het Player object want ik vind die precies niet...
[...]
Ik gebruik JMF 2.0, en dan het MediaPlayer object. Daar zitten de functies saveMediaTime() en restoreMediaTime() in.

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 01-05 13:23
Zoals hier te lezen valt krijg je die error altijd als de klok loopt (started state). Dus je zult of eerst de klok moeten stoppen, of de methode overriden zodat ie geen error meer throwd.

Wat je ook kunt doen is de error afvangen met try catch en er dan verder niks mee doen. Niet netjes, maar als het werkt...

[ Voor 25% gewijzigd door Postman op 16-01-2004 12:46 . Reden: Link aangepast ]

Pagina: 1