Toon posts:

[flash]ns.bufferTime aanpassen aan bandbreedte

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben bezig met een videoplayer waarin ik flv'tjes wil afspelen. Nu wil ik voor gebruikers met lage bandbreedte eigenlijk de bufferTime dynamisch aanpassen, zodat de flv pas gaat spelen op het moment dat er voldoende data in de buffer zit. Hiervoor maak ik tijdens het laden een schatting van de bandbreedte adhv de ingeladen bytes en de huidige laadtijd. Nu moet ik echter ook de duration weten van de hele flv, en die lijkt via onMetaData pas beschikbaar te komen op het moment dat de buffer de opgegeven bufferTime heeft bereikt, en dan begint de flv al met afspelen. Ik heb geprobeerd om met bufferLength*totalBytes/loadedBytes een schatting te maken van de duration, maar dat is absoluut niet nauwkeurig. Weet iemand een manier om een goede schatting van de duration te maken?
Het alternatief wordt anders dat ik de flv start en meteen pauzeer (na ns.play meteen ns.pause doen), en dat ik dan zelf de player weer start op het moment dat er voldoende data geladen is, en het leek me makkelijker om het bufferen door flash zelf te laten doen.

  • LB Back
  • Registratie: November 2004
  • Laatst online: 14-03 23:22
Vreemd, ik dacht dat die metadata vrijwel direct beschikbaar was, zit aan het begin van de file.
Een optie is om eerst een mini buffertime in te stellen, maar das net zo omslachtig als start stop.

Verwijderd

Topicstarter
die mini buffertime was inderdaad wat ik met mijn alternatief bedoelde. als test het ik in mijn player onMetaData de bufferLength naar het scherm laten outputten, en die lag ook bij het aanpassen van de bufferTime steeds direct nadat bufferLength == bufferTime.