Avatar billede f5 Nybegynder
29. januar 2003 - 12:58 Der er 19 kommentarer og
2 løsninger

udregn en buffer til en preloader

Jeg har tidlig haft en spørgsmål oppe som jeg har lukket og prøver nu at onmformulere.

Når jeg tester en flash film, kan jeg se hvor mange frames eller tid der kræves til at preloade filmen, men jeg kan ikke helt bruge data syndeds jeg.

min hoved scene har kun en frame, alle mine frames ligger i et MC. Er  dette frame tal et gennemsnit???

Kan jeg omregne disse tal til bites som jeg kan bruge i en preloader??

VH
Michael
Avatar billede mat Nybegynder
29. januar 2003 - 13:05 #1
øhm

getBytesLoaded();

???
Avatar billede f5 Nybegynder
29. januar 2003 - 13:16 #2
;-)

Det er ikke helt det jeg mener. Min film vejer ca. 500K, og hvordan finder jeg så ud af hvor mange bytes der skal loades, før jeg kan begynde afspilning mens resten streamer.

Jeg kan måske nøjes med at loade 200K og så spille filmen og resten loader mens filmen spiller. Hvordan regner jeg dette tal ud.

Giver det mening??

/M
Avatar billede mat Nybegynder
29. januar 2003 - 13:27 #3
Joeh det giver da mening.

Men du kan jo ikke kende båndbredden på forhånd, hvis du streamer resten og det kommer rotter på linien vil den jo kløjs alligevel?

Er det ikke lidt at bede om en spådom? ..eller er det bare mig der er helt galt på den?
Avatar billede colman Nybegynder
29. januar 2003 - 13:57 #4
Jeg er enig med mat her!

Det du kan gøre er at preloade nok så du ved at resten kan nå at streame med et 56k modem... Der er desværre ikke andre metoder.

Nu ved jeg så ikke om det er en hjemmeside du laver, men hvis det er så ville jeg nok anbefale dig at lægge så meget som muligt ud som eksterne swf filer og lave prealodere på dem....
Avatar billede f5 Nybegynder
29. januar 2003 - 14:31 #5
jo og nej...lad mig forklare mit problem.

Jeg har en film med en video i som ligger i et MC. Når jeg tester min film, kan jeg i testmovie mode indstille playeren til at simulere en 56K og 256 K streaming. Flash udregner så hvor mange frames /sekunder den skal preloade for at kunne streame og viser det oppe i venstre hjørne.

Jeg kunne så godt tænke mig at brugeren kunne vælge om han sad på en 56K eller 256K forbindelse og bruge det til at vide hvor meget jeg skal preloade med. Jeg ved godt at der kan komme "rotter på forbindelsen", men flash siger der skal preloades i 12 sek, f.eks. og jeg ligger 10 sek. til, tror jeg jeg er sikker.  pointen er at der skal preloades forskellige mængder data til en 56 og 256 K forbindelse og der er bestemt ingen grund til at hele filmen downloader først, hvis jeg kan slippe afsted med mindere ventetid.

Mit problem er, hvordan jeg omregner den frames/sekunder buffer flash fortæller mig, til bytes så jeg kan sætte en varaibel i min preloader alt eftere hvad brugeren vælger.

Jeg syndes da selv det virker som et fornuftigt spørgsmpl :-)

VH
Michael
Avatar billede f5 Nybegynder
29. januar 2003 - 14:33 #6
Mat> precis. Hvordan finder jeg ud af hvo meget der skal preloades på en 56K og en 256K forbindelse!!!!
Avatar billede baitianlong Nybegynder
30. januar 2003 - 00:17 #7
Du kan da teste hastigheden på det indledende preload og derefter sætte bufferen....med noget henad:

onClipEvent(load) {
  buffer = _root.getBytesTotal();
  limit = 100;
  tid = getTimer();
  hentetStart = _root.getBytesLoaded();
}
onClipEvent(enterFrame) {
  if(getTimer() >= tid + 1000) {
      hentetNu = _root.getBytesLoaded();
      diff = hentetNu - hentetStart; hentetStart = hentetNu;
      hastighed = diff/1000 + "kbs";
      trace(hastighed);
      tid = getTimer();
      maaleTid++;
  }
  if(maaleTid == 3) { //den tester i tre sekunder
      if(hastighed < 5) buffer = 200; //56 k modem
      else if(hastighed < 12) buffer = 150; //ISDN
      else if(hastighed < 25) buffer = 100; //256 k adsl
      else buffer = 50;
  }
  if(_root.getBytesLoaded() >= buffer) {
      _root.play();
  }
}

Det burde være det (o;
Avatar billede baitianlong Nybegynder
30. januar 2003 - 00:19 #8
..det skal bare lige være:

if(_root.getBytesLoaded()/1024 >= buffer) {
      _root.play();
  }

til sidst i stedet for (o;
Avatar billede baitianlong Nybegynder
30. januar 2003 - 00:21 #9
Nåå ja og så skal det være:

      hastighed = diff/1000;
      trace(hastighed + "kbs");

så tror jeg den er der /o;
Avatar billede f5 Nybegynder
30. januar 2003 - 11:01 #10
legend> den ser super fornuftig ud og den vil jeg selv bruge ;-),
Men jeg er stadig ret interesseret i et svar på mjit spørgsmål om hvordan jeg på forhånd kan konverter det frame og tids info flash giver mig til bytes - det kan muske ikke lade sig gøre?????
Avatar billede baitianlong Nybegynder
30. januar 2003 - 18:00 #11
Hvad mener du.... Hvis du vil vide hvor stor flashen er i alt er det: _root.getBytesTotal() som jeg bruger i scriptet. Som du kan se finder jeg først ud af hastigheden og sætter derefter en buffer som afgør hvor meget der skal være loaded før filmen starter. Det er da nøjagtig det du beder om ! Bortset fra at mit script selv finder ud af det i stedet for at brugeren skal fortælle det....
Avatar billede christian Nybegynder
30. januar 2003 - 21:31 #12
Nu har jeg kun lige skimtet den lange tråd igennem :-)

Jeg ville ikke gå efter hvor stor forbindelse i bytes som klienten har men jeg ville se hvor mange frames klienten henter i snit efter 5 sek.
Hvis klienten loader over 12 frames (eller hvor mange frames din movie kører i) ville jeg starte med at apspille

Du kan måske få lidt inspiration fra denne som jeg har lavet:
http://www.writers.dk/flash/flashvideo/player.html
Den er smidt lidt rodet sammen, men jeg kan sende den til hvis du vil
Avatar billede laseb Nybegynder
30. januar 2003 - 23:52 #13
Christian> Jeg kom lige forbi, og læser med. Den videosekvens, du har linket til, ser interessant ud. Hvordan laver man det, at den henter nok til at begynde at afspille. Har du evt. lyst til at maile det til mig - lasse@bekker.dk ?

Godt nok når afspilningen på min computer at indhente det loadede, så den går i stå ca midtvejs, men det kan vel justeres?

/Lasse
Avatar billede christian Nybegynder
31. januar 2003 - 10:07 #14
Jeg sender den til dig i aften...
Ja, den er ret interessant, da den kunne være et stærkt alternativ til streaming da den jo kører via port 80
Avatar billede f5 Nybegynder
02. februar 2003 - 23:19 #15
Tak for alle henvendelserne. Christian - ligger video objektet i et FilmKlip i din player???
Kunne du også maile den til mig - uden selve video så den ikke bliver for tung (msk@itu.dk)?

Det kunne forhåbentligt give svar på spørgsmålet.....
Avatar billede christian Nybegynder
03. februar 2003 - 08:20 #16
Video klippet ligger som en swf fil ved siden af (lavet med sorensen sqeeze)
Har sendt filen...
Avatar billede f5 Nybegynder
06. februar 2003 - 15:54 #17
Undskyld den lange ventetid, jeg sidder og tester på det. Grunden til at jeg ikke har fået det til at fungere er at så vidt jeg kan se, så skal hele videoen downloades før afspilningen kan begyndde - lige meget omd en loades ind som en ekstern swf eller ligger på hovedtidslinein. DVS den kommer til videoens første frame, og så skal downloade hele filmen før den kan begynde at spille den - som om det var et movie klip der kun lå i en frame. Den eneste måde jeg har fået det til at fungere er ved at bruge em swf fil fra sorensen squeez.

Er der nogen der har haft samme problem eller er det bare mig????
Avatar billede f5 Nybegynder
23. februar 2003 - 11:50 #18
For at afslutte:

Man kan ikke lave en preloader til en video der ligger i et MC, fordi hele MC skal downloades før framen dden vises i kan afspille - altså aæt eller intet. Derfor ligger jeg dem på hovedtidslinien i eksterne SWF og bruger loadMovieNum.

Selve bufferen udregner jeg bare ved at test filmen med Show Bandwidth Profile og så prøve mig frem til antalet af frames der skal dowloades - ingen alt for smarte scripts her!

Jeg undersøger som om bufferen er ved at blive indhentet af afspilningen. Hvis den er, stopper filmen og loader en ny buffer.

Mange tak for hjælpen og håber at mine erfaringer kan hjælpe nogle af jer andre.

VH
F5
Avatar billede oersted Novice
31. december 2003 - 12:56 #19
christian>  dit indlæg er godt nok et år gammelt, men har du stadig .fla filen til http://www.writers.dk/flash/flashvideo/player.html

??
Avatar billede christian Nybegynder
02. januar 2004 - 08:04 #20
jep, den kan du hente her:
http://www.writers.dk/flash/flashvideo/player.fla

Den er lidt rodet :-)
Avatar billede oersted Novice
02. januar 2004 - 14:26 #21
tak !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester