(page) REDIGERET 30 March 2012 • by admin

Flash Publicering

Publicer fra Flash
Når du trykker File > Publish, genererer Flash automatisk en html-fil med den kode der skal til for at inkludere din swf-fil. fla, swf og html ligger normalt i den mappe du havde gemt fla-filen i.

Flash i html

Edited 14 April 2010 • admin TOC2 comments, add one..

Problematikker

Den genererede swf-fil skal lejres i en xhtml-fil for at komme på nettet. Der findes standarder, hvad flash i html angår, men udviklingen tager flere retninger. Der skal bl. andet tages hensyn til browser specifik adfærd, søgevenlighed, plugin og versioner, dynamisk indhold, foruden web-standarder.
(et teknisk overblik fra AListApart, Buy Buy Embed og endeligt flashembedcagematch)

Problem:validering Flash-koden som den fremtræder publiceret gennem flash selv, validerer ikke. Det skyldes embed-tag’en, der er ude af standard – at tage den væk vil få koden til at validere, men er ikke nok for at få flash til at virke i flere browsere.

En simplificeret løsning: Til det validerende object-tag, tilføjes et data-atribut (så Firefox kan vise flash), og et movie-parameter (til IE). Dette er den absolut nemmeste løsning d.d.

Valid kode

Den minimale valide kode:

18
19
20
21
22
<div class="FlashMovie">
       <object data="path_to_file/file.swf" type="application/x-shockwave-flash" width="550" height="400">
              <param name="movie" value="path_to_file/file.swf" />               
        </object>
</div>

Søg efter en liste med yderligere (MEGET ANVENDELIGE) parametre – eller se en (ældre) tech-note fra adobe.
Denne kode er sat ind i en div, som så styles til det ønskede position og udseende.

Embed Youtube

Samme grundkode kan bruges i forbindelse med Youtube-videoer indsat i html (som faktisk heller ikke validerer hvis man indsætter direkte fra den genererede kode – derfor omskrivelsen nedenfor):

18
19
20
21
<object data="sti-fra-embed-koden-indsættes-her" type="application/x-shockwave-flash" width="400" height="326">
       <param name="movie" value="sti-fra-embed-koden-indsættes-her" />
       <param name="FlashVars" value="playerMode=embedded" />
</object>

SwfObject

En anden løsning involverer javascript. Der tages alle andre problematikker i betragtning, beskrevet øverst i indledningen – foruden validering.
Mange udvikler på varianter af snedige javascript løsninger, men swfObject synes at være den ledende opsummering af bestræbelserne.
For Øvede – gotoandlearn

Upload af FLVPlayback skin

Edited 11 February 2010 • admin TOCbe the first to comment

Når et skin vælges til videoplayeren, får den i realiteten en sti. Den sti er relativ til den html, der forudsættes at ligge i samme mappe som skin-swf-filen. Dette er et problem hvis swf, video, og skin uploades til en anden mappe end den html som refererer til swf-filen: Swf og video vises fint – men uden skin.

En løsning er at flytte skin-filen over til html-filen.

En anden løsning er at indsætte et script over flv-playerens frame, lige før den skal uploades:

player.skin="den-egentlige-sti-på-serveren-til_SkinOverPlaySeekMute.swf";

En tredje kunne også være et script, der altid lokaliserer skin-urlen i samme mappe som swf-filen:

//get url of loaded movie, so we can set relative path
var skinURL:String = player.skin;
if (skinURL.indexOf("/",0)<0) {
	var swfURL:String = this.loaderInfo.url;
	swfURL = swfURL.substr(0,swfURL.lastIndexOf("/")+1);
	player.skin = swfURL+skinURL;
}