FlashVars Not Working But Query String Is - actionscript-3

Some advise please.
I have a FLA in CS5 using AS3 and I can get Query String to work to pass variables but not FlashVars (I am not trying to use them both at the same time).
I have HTML below that adds the SWF:
<!-- Extract from http://www.[domain]/flash.html -->
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="700" height="600" id="SWF" align="middle">
<param name="movie" value="http://[subdomain].[domain]/swf.swf?var1=var1value"> <!-- This is working -->
<param name="FlashVars" value="var1=var1value"> <!-- This is NOT working -->
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
<param name="play" value="true">
<param name="loop" value="true">
<param name="wmode" value="window">
<param name="scale" value="showall">
<param name="menu" value="true">
<param name="devicefont" value="false">
<param name="salign" value="">
<param name="allowScriptAccess" value="sameDomain">
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="http://[subdomain].[domain]/swf.swf?var1=var1value" width="700" height="600">
<param name="movie" value="http://[subdomain].[domain]/swf.swf?var1=var1value"> <!-- This is working -->
<param name="FlashVars" value="var1=var1value"> <!-- This is NOT working -->
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
<param name="play" value="true">
<param name="loop" value="true">
<param name="wmode" value="window">
<param name="scale" value="showall">
<param name="menu" value="true">
<param name="devicefont" value="false">
<param name="salign" value="">
<param name="allowScriptAccess" value="sameDomain">
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player">
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
In the FLA I have the following:
try {
flashVars = LoaderInfo(this.root.loaderInfo).parameters;
}catch (error:Error) {
errorBox.appendText(error.toString());
}
I then use the passed information by using:
flashVars.var1;
As noted in the comments in the HTML <param name="movie" value="http://[subdomain].[domain]/swf.swf?var1=var1value"> works but <param name="FlashVars" value="var1=var1value"> does not.
My understanding is that <param name="FlashVars" value="var1=var1value"> is considered better practise. Is this the case and why, but more importantly can anyone tell me why it is not working?

Related

get the end of an <object> video and add autoplay to it

Two, maybe, simple questions:
1. I'm trying to get the end of my video with the function onended and don't works because I have an <object> like:
<object width="100%" height="100%" id="player_api" data="https://my-url.com" type="application/x-shockwave-flash"></object>
2. I have my params but If I add <param name="autoPlay" value="true"> and <param name="autoStart" value="true"> it doesn't autoplay anyway....
Thanks all.
EDIT:
This is my full object:
<object width="100%" height="100%" id="player_api" data="https://my-url.com" type="application/x-shockwave-flash">
<param name="allowscriptaccess" value="always">
<param name="quality" value="high">
<param name="bgcolor" value="#000000">
<param name="flashvars" value="config={"playlist":[{"url":"https://medialibrary-diretteweb-it.s3.amazonaws.com/advert/spot_crsa_40sec.mp4","autoPlay":false}],"clip":{"autoPlay":false},"plugins":{"controls":{"url":"https%3A//adserver.tigicongress.com/revive/www/delivery/fc.php%3Fscript%3DdeliveryLog%3AvastServeVideoPlayer%3Aplayer%26file_to_serve%3Dflowplayer/3.1.1/flowplayer.controls-3.1.1.swf"}},"playerId":"player"}">
<param name="autoPlay" value="true">
<param name="autoStart" value="true">
<param name="ShowControls" value="false">
</object>
EDIT 2: My second question I have figure out by myself, I'm still stuck at the first one.
<object onended="myFunction()" width="400" height="250" id="player_api" data="https://www.quirksmode.org/html5/videos/big_buck_bunny.mp4">
<param name="allowscriptaccess" value="always">
<param name="quality" value="high">
<param name="bgcolor" value="#000000">
<param name="autoplay" value="true">
<param name="ShowControls" value="true">
</object>

Disable the autostart of videos

I'm stack with a html code for video. I need to display 4 video in one page, the problem that they start at the same time. I've tried the autoplay=false in the embed and param balises. It continue to start at the same time and I have Four audio/video flow when I display the page, that's very incovenient.
I obtain this code from the site who provide these video and I have no other to access to these video...
<object id="flashObj" width="480" height="270" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0">
<param name="movie" value="http://" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="videoId=4565607515001&linkBaseURL=http...html&playerID=1225340306001&playerKey=AQ~~,AAAAzBCHAyE~,4dQGL3-Dcc6XwcfI5g-30keqabkKeAfs&domain=embed&dynamicStreaming=true" />
<param name="base" value="http://admin.brightcove.com" /><param name="seamlesstabbing" value="false" />
<param name="allowFullScreen" value="true" />
<param name="swLiveConnect" value="true" />
<param name="allowScriptAccess" value="always" />
<embed src="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&isUI=1" bgcolor="#FFFFFF" flashVars="videoId=4565607515001&linkBaseURL=http...html&playerID=1225340306001&playerKey=AQ~~,AAAAzBCHAyE~,4dQGL3-Dcc6XwcfI5g-30keqabkKeAfs&domain=embed&dynamicStreaming=true" base="http://admin.brightcove.com" name="flashObj" width="480" height="270" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</object>
I guess the variables name are CaSe SenSitive, you should try autoPlay=false, i.e.:
flashVars="videoId=4565607515001&linkBaseURL=http...html&playerID=1225340306001&playerKey=AQ~~,AAAAzBCHAyE~,4dQGL3-Dcc6XwcfI5g-30keqabkKeAfs&domain=embed&dynamicStreaming=true&autoPlay=false
UPDATE:
After setting:
<param name="swLiveConnect" value="false" />
The video doesn't auto-play anymore, here's the full code I've used:
<object id="flashObj" width="480" height="270" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0">
<param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&isUI=1&autoStart=false" />
<param name="bgcolor" value="#FFFFFF" />
<param name="autoStart" value="false" />
<param name="flashVars" value="videoId=4565606700001&linkBaseURL=http%3A%2F%2Fbfmbusiness.bfmtv.com%2Fmediaplayer%2Fvideo%2Folivier-delamarche-vs-laurent-berrebi-22-d-un-point-de-vue-fondamental-la-phase-haussiere-en-zone-euro-va-se-poursuivre-1910-665043.html&playerID=1225340306001&playerKey=AQ~~,AAAAzBCHAyE~,4dQGL3-Dcc6XwcfI5g-30keqabkKeAfs&domain=embed&dynamicStreaming=false" />
<param name="base" value="http://admin.brightcove.com" />
<param name="seamlesstabbing" value="false" />
<param name="allowFullScreen" value="true" />
<param name="autoStart" value="false" />
<param name="swLiveConnect" value="false" />
<param name="allowScriptAccess" value="always" />
<embed src="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&isUI=1&autoStart=false" bgcolor="#FFFFFF" flashVars="videoId=4565606700001&linkBaseURL=http%3A%2F%2Fbfmbusiness.bfmtv.com%2Fmediaplayer%2Fvideo%2Folivier-delamarche-vs-laurent-berrebi-22-d-un-point-de-vue-fondamental-la-phase-haussiere-en-zone-euro-va-se-poursuivre-1910-665043.html&playerID=1225340306001&playerKey=AQ~~,AAAAzBCHAyE~,4dQGL3-Dcc6XwcfI5g-30keqabkKeAfs&domain=embed&dynamicStreaming=false" base="http://admin.brightcove.com" name="flashObj" width="480" height="270" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" swLiveConnect="false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
</object>

how to remove controls from embedded video?

Is it actually impossible to remove the UI controls from this embedded video?
http://www.w3schools.com/html/tryit.asp?filename=tryhtml_objectmplayer
<param showcontrols="false">
<param uiMode="invisible">
...showcontrols="false"...
does not hide the controls - contrary to natural english meaning of "show controls"
EDIT: --THE FOLLOWING WORKS & IS CROSS-BROWSER (until IE10)...
EDIT2: --BUT THE FOLLOWING ALSO SEEMS TO CAUSE NEVER-ENDING-SENDRESPONSE-STATUS WORKER PROCESSES (SEE https://stackoverflow.com/questions/16790199/iis7-5-wmv-requests-cause-many-workerprocesses-in-never-ending-sendresponse-stat)
<!--[if IE]>
<object id="MediaPlayer" style="height:100%" classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" standby="Loading Windows Media Player components..." type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112">
<param name="filename" value="3d.wmv" />
<param name="Showcontrols" value="false" />
<param name="autoStart" value="True" />
<param name="wmode" value="transparent" />
</object>
<![endif]-->
<!--[if !IE]><!-->
<object id="mediaplayer" type="application/x-ms-wmp" data="3d.wmv" width="100%" height="80%">
<param name="src" value="3d.wmv" valuetype="ref" type="3d.wmv">
<param name="autoStart" value="1">
<param name="ShowControls" value="0">
<param name="Showcontrols" value="false" />
<param name="autoStart" value="True" />
<param name="wmode" value="transparent" />
<param name="ShowDisplay" value="0">
<param name="ShowStatusBar" value="0">
<param name="playcount" value="10">
<param name="autoRewind" value="1">
<param name="displaysize" value="0">
<param name="stretchtofit" value="1">
<param name="enableContextMenu" value="0">
<param name="uiMode" value="none">
<embed type="application/x-mplayer2" src="3d.wmv" width="100%" height="100%" autostart="true" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"></embed>
</object>
<!--<![endif]-->
Taking your W3Schools example code -
<!DOCTYPE html>
<html>
<body>
<object width="100%" height="100%"
type="video/x-ms-asf" url="3d.wmv" data="3d.wmv"
classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<param name="url" value="3d.wmv">
<param name="filename" value="3d.wmv">
<param name="autostart" value="1">
<param name="uiMode" value="full">
<param name="autosize" value="1">
<param name="playcount" value="1">
<embed type="application/x-mplayer2" src="3d.wmv" width="100%" height="100%" autostart="true" showcontrols="true" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"></embed>
</object>
</body>
</html>
Change
<embed... showcontrols="true"...
to
<embed... showcontrols="false"...

Flash element not transparent in Firefox

I put a flash mp3 player element in my HTML page.
This element has a transparent background.
<div id="player">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="30" id="mp3player" align="middle">
<param name="movie" value="mp3player.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="transparent" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="mp3player.swf" width="100" height="30">
<param name="movie" value="mp3player.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="transparent" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
Firefox in Windows 7 displays a transparent background while it does not happen with Windows XP.
How can this problem be solved?
Thanks
EDIT
I noticed that my flash element at the start has a transparent background but after mouse-over the background turns black and stays black.
Is possible using jquery to force the flash wmode parameter trasparent on mouse-over and/or
mouse-out?
Thanks
While you have:
<param name="wmode" value="transparent" />
You still need this as an attribute on the object tag:
<object wmode="transparent" ....

How do I access flashvars in AS3, and add them to an existing text field?

Edit: I've come to realize the main problem I'm facing is that I want a text field that already exists in a movieclip or on the stage to take the string from a flashvar. For some reason it will not do that. How do I make a pre-existing text field change to match the flashvar text?
Html:
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="29px" id="egnewsTicker" align="middle">
<param name="movie" value="egnewsTicker.swf" />
<param name="flashvars" value="newslisttest=this is my test" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="transparent" />
<param name="scale" value="showall" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="lt" />
<param name="allowScriptAccess" value="sameDomain" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="egnewsTicker.swf" width="100%" height="29px">
<param name="movie" value="egnewsTicker.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="transparent" />
<param name="scale" value="showall" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="lt" />
<param name="allowScriptAccess" value="sameDomain" />
<param name="flashvars" value="newslisttest=this is my test" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
I know this is supposed to be a simple task, and I have found several web articles that give examples, but I simply cannot make it work when I'm trying to do my own code. All I want to do is pass a flashvar string and be able to access it by name in flash using AS3, but I can't seem to accomplish that.
I'm trying:
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
newsItem.newsHeadline.text = String(paramObj[varName]);
I've also tried:
newsItem.newsHeadline.text = this.loaderInfo.parameters.newslisttest;
Nothing I try works, it always just stays blank. What is the trick to accessing flashvars in flash as3? I'm just not getting it and I can't find a good explanation anywhere...
Try this: stage.loaderInfo.parameters.yourparam or stage.loaderInfo.parameters["yourparam"]
Can you post your html code, so we can see how you pass the flashvars to Flash.
I've been wasted all the day long for that...
AS3:
var uid:String;
// your code
this.loaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
// your code
function loaderComplete(e:Event=null):void
{
var fv = stage.loaderInfo.parameters;
uid = fv['uid'] || "'uid' not found";
}
HTML:
<object type='application/x-shockwave-flash' data='/flash/yourSWF.swf' width='320' height='240'>
<param name='wmode' value='transparent' />
<param name='FlashVars' value='uid=yourData' />
<param name='movie' value='/flash/yourSWF.swf' />
</object>
If you are still having this problem, follow below lines.
I used flash vars, they work fine for me.
My html script was:
<html>
<body>
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"FlashVars="uid=123&name=santhu" width="100%" height="100%" id="index" align="middle">
<param name="movie" value="index.swf" />
<param name=FlashVars value="uid=123&name=santhu">
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="index.swf"
FlashVars="uid=123&name=santhu" width="100%" height="100%">
<param name="movie" value="index.swf" />
<param name=FlashVars value="uid=123&name=santhu">
<!--<![endif]-->
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
and my AS code to load vars is
this.root.loaderInfo.addEventListener(Event.COMPLETE, SWFLoadComplete);
private function SWFLoadComplete(e:Event)
{
obj=this.root.loaderInfo.parameters;
trace(obj.uid , obj.name); // outputs: 123 santhu
}