Jeg skal importere en ekstern FLV til en flash fil. Jeg har brug for lidt hjælp og info om hvordan jeg gør det. Kort sagt skal jeg vide hvordan man importere filen til min ny Flash fil og jeg skal vide hvordan jeg "tilgår" den så jeg kan arbejde med hvilket frame nr den står i og hvilket frame nr den skal flytte sig hen til.
Er der nogen derude der kan hjælpe. Jeg er nemlig helt grøn på FLV-import fronten.
Hvis du vil importere filen og har Flash MX 2004 PRO så importér originalen. Det du vil er ikke at importere filen i flash men loade filen ind. Har kan du kigge i hjælpefilen under NetConnection klassen.
Læser du lidt videre i den (vil anbefale du kigger det hele igennem) så står der noget om at afspille eksterne .flv filer. Vær dog opmærksom på at ektern .flv kun understøttes i Flash Player 6 hvis du kører igennem Flash Communication Server. Flash Player 7 kan fint køre uden.
I princippet kan du bare trykke ctrl-r og hente flv'en ind på din tidslinje. Ingen hokus pokus dér. Den store fidus med flv-formatet er imidlertid at du kan hente din film ind i runtime (måske i virkeligheden det du vil?), for på den måde at simulere en streaming af videoen. Ønsker du at gøre det på den måde, kan du vælge imellem at scripte det, eller bruge nogle komponenter som kan styre det hele for dig.
Timeline eller runtime? Scripting eller komponenter?
Jeg ville helst have den så den bliver hentet ind i runtime, men jeg skal også kunne script'e til filmen og styrer hvilke frames der skal spilles hvornår. Kan det overhovedet lad sig gøre?
Så inkludér originalen og vælg at gøre det til et movieclip på timeline. Originalen bliver som hovedregel bedre end .flv men størrelsen kan af og til også blive lidt større. Men igen kun MX 2004 PRO.
Taler vi simulering af streaming så er det langt bedre at bruge den version jeg lagde op til. Her vælger du ikke hvilken frame der skal gåes til, men hvilken keyframe filen er komprimeret med. Vil du vælge frame by frame så skal du gøre som jeg skrev lige her ovenover.
Hvis du vil hente en video ind i runtime, så snakker vi vist mere sekunder og minutter snarere end frames. Men hvis du mener at du gerne vil gå hen til et bestemt tidspunkt i din film, skulle det nok kunne lade sig gøre.
Opsæningen ser nogenlunde sådan her ud (tror også du kan finde en bedre step for step vejledning i hjælpen):
1: tryk ctrl-l 2: tryk yderst til højre oppe i det library-vindue som åbnes. Vælg "New Video" 3: træk video-komponenten fra librariet og ud på stagen. 4: giv det instance-navnet "minVideo" 5 skriv følgende script i en frame:
var netConn:NetConnection = new NetConnection(); netConn.connect(null); var netStream:NetStream = new NetStream(netConn); minVideo.attachVideo(netStream); netStream.setBufferTime(5); // netStream.play("navnetPåDinFLV.flv"); // Sætter din flv igang netStream.seek(10); // Antal sekunder inde i din flv
Du skal først sætte filmen igang, derefter kan du med seek() hoppe derhen hvor du vil afspille fra. ..og husk også, at du skal justere størrelsen på "minVideo" når du har tyret den ind på scenen, så den passer til din faktiske størrelse på den video du loader.....
Damn nikolaidu, du er hurtig i dag! Til gengæld, ser det ud som om vi supplerer hinanden fint med forskellige løsninger :o)
schwaner: når du vælger imellem vores løsninger, så tjek lige hvor meget din flv fylder. Jeg vil mene, at såfremt den er +1 MB så gå efter min løsning. Mindre, og nikolaidu's løsning holder.
_k din løsning er faktisk den første jeg hentød til med NetConnection udover at filen ikke behøver at blive inkluderet i flashen, men kan nøjes med at ligge eksternt. Som jeg ser det er der ingen fordel i at inkludere en .flv, da kontrollerne alligevel er de samme.
nikolai: Yep, regnede også med det var den løsning du hentydede til. Men må indrømme at jeg aldrig selv har leget med at inkludere en flv i Flash for derefter at tilgå den med script. Her har jeg været konservativ nok til at holde mig til avi'er og stort set behandle dem som mc'er. Flv'er ville jeg til hver en tid hente ind udefra, men det er måske slet ikke så hensigtæssigt?
FLV'en er 14,5 Mb. Jeg vil give jer lidt mere info om hvad jeg egentlig skal ende op med. Det kan være det hjælper lidt på valget af model. Jeg har en FLV fil der indeholder en 3D film af en teknisk-dims. FLV'en er bygget op på en måde så den kører f.eks. 100 frames i en vinkel (horisontalt). De efterfølgende 100 frames er så den samme dims og den eneste forskel er at billedet er drejet en lille smule vertikalt. På den måde kan jeg fremstille en "virtuel tour" der gøre det muligt at dreje rundt på den tekniske dims i et 3D agtigt miljø, op og ned og rundt og rundt.
Derfor er det vigtigt at ramme de præcise frames når man vipper op eller ned ad. Man kunne sige i pseudo kode: hvis op: video.framenr = video.framenr + 100 hvis ned: video.framenr = video.framenr - 100 hvis til højre video.framenr = video.framenr + 1 hvis til venstre video.framenr = video.framenr - 1
...det var da lidt af et dilemma. Vælger du Nikolajs løsning på nettet vil det køre mest smooth og overbevisende, men det vil tage en krig for brugeren at hente swf'en hjem. Anvender du mit løsningsforslag, vil det på nettet gå ud over brugerens oplevelse af at kunne interagere med modellen. Der vil være et delay fra når man trykker, til flv'en loader hen til det rigtige sted og sætter igang. Delayet kan komme ned på ikke ret meget hvis brugeren sidder på en hurtig forbindelse, men det vil være der - og sådan noget kan brugere ikke li!
Den bedste løsning må derfor være Nikolajs løsning på en cd-rom!
...ved ikke om du er klar over det, men hvis du i stedet anvender Director (og producerer Shockwave-filer), kan du importere en hel 3D model og lade brugeren hive i den derinde.
Jeg har valgt at hive den ind i flash's timeline. Det er vist den bedste måde at styre den på, og da præsentationen skal ligge på CD'er er det vist ikke det store problem med størrelsen.
I skal have tak for hjælpen. Hvis I skal have lidt points må I lige oprette et svar hver.
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.