[vb]Media player met terug tel klok?!

Pagina: 1
Acties:

  • Wokker
  • Registratie: September 2001
  • Laatst online: 19:35

Wokker

De avond wokkel

Topicstarter
Ik al een tijdje bezig om een media player te maken die ook kan terug tellen. Deze player haalt uit een playlist zijn bestanden en speelt ze af. Dit zijn mpeg2 bestanden met een speciale dalet codec (programma wat bij grote radio stations gebruikt word) Hier heb ik gelukkig een hele mooie ocx voor gevonden die dit af kan spelen. Windows media player slikt hellaas deze bestanden niet :(

Het gaat om deze ocx: http://rspsoftware.clic3.net/rspmp3play.htm
Mij leek het logisch om gewoon de gespeelde tijd van de totaale speelduur af te trekken. Dit werkt bij benadering zeer redelijk. Maar het gebeurt soms wel eens dat de teller langer als een 1 seconden op nul staat. Liever heb ik dat hij pas op 0 springt als het muziek bestand is afgelopen.

Ik hoop dat iemand snapt wat mijn probleem is en weet hoe ik dat op kan lossen.

Nog een probleem is dat de Timer van Visual basic niet betrouwbaar timed en dat daardoor de secondens niet altijd even lang duren bij het aftellen . Heeft hier iemand een alternatief voor ?

Het oneindige X 0


Verwijderd

De timer van VB is nog steeds gebaseerd op de gouwe ouwe systeemklok die je onder DOS ook al had, die 18,2 keer per seconden af gaat. Dus al geef je een interval van 1 milliseconde op, dan zal de interval op zijn minst 1000 / 18,2 = 54.9 milliseconden zijn.Daarbij moet je nog eens rekening houden dat het mogelijk is dat event 1 in het begin van die periode valt, en event 2 in het einde van zijn interval, waardoor je dus kunt concluderen dat de timer een nauwkeurigheid van 54,9 ± 54,9 milliseconden is.

Wil je aan nauwkeurigere timer, zoek dan eens op "high resolution timer"

[edit] typos

[ Voor 3% gewijzigd door Verwijderd op 28-09-2004 00:02 ]


  • Kuhlie
  • Registratie: December 2002
  • Niet online
Verwijderd schreef op 28 september 2004 @ 00:01:
De timer van VB is nog steeds gebaseerd op de gouwe ouwe systeemklok die je onder DOS ook al had, die 18,2 keer per seconden af gaat. Dus al geef je een interval van 1 milliseconde op, dan zal de interval op zijn minst 1000 / 18,2 = 54.9 milliseconden zijn.Daarbij moet je nog eens rekening houden dat het mogelijk is dat event 1 in het begin van die periode valt, en event 2 in het einde van zijn interval, waardoor je dus kunt concluderen dat de timer een nauwkeurigheid van 54,9 ± 54,9 milliseconden is.

Wil je aan nauwkeurigere timer, zoek dan eens op "high resolution timer"

[edit] typos
FFrenzy: jij bedoelt de functie Timer, die een Single oplevert met het aantal seconden sinds middernacht, inderdaad op 1/18,2 seconden nauwkeurig. Het Timer control is echter nauwkeuriger: hij vuurt maximaal elke 10 ms op WinNT/2000/XP en ik dacht zelfs elke 1 ms op win9x/me.

Het probleem van de TS is dat als je 1000 ms instelt, hij best wel eens 1080 ms bezig kan zijn voordat het event vuurt. Dit komt omdat je computer op de 1000'ste ms toevallig wel eens wat anders kan doen :)

Verwijderd

Kuhlie schreef op 28 september 2004 @ 00:11:
[...]

FFrenzy: jij bedoelt de functie Timer, die een Single oplevert met het aantal seconden sinds middernacht, inderdaad op 1/18,2 seconden nauwkeurig. Het Timer control is echter nauwkeuriger: hij vuurt maximaal elke 10 ms op WinNT/2000/XP en ik dacht zelfs elke 1 ms op win9x/me.
Timer Control heeft hetzelfde probleem, op WinNT en lager is de resolutie 1/18,2 seconde, op W2K en hoger rond de 10ms. Bronvermelding

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Hmm heb mijn twijfels bij die bron van je. Hij vertelt dat GetTickCount ook gebruik maakt van de system timer. Echter, mijn MSDN vertelt dat de resolutie van GetTickCount met GetSystemTimeAdjustment kan worden opgevraagd.

Deze vertelt me dat ik een resolutie van 100144 100 ns ticks heb. Das dus +/-10ms, terwijl de system timer een resolutie heeft van 55ms.

[Edit]
Oops, hij zegt idd dat op WIn2k de resolutie rond de 10ms ligt. Excuze moi .

[ Voor 9% gewijzigd door farlane op 28-09-2004 10:33 ]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.