Actionscript 3 如何使用javascript获取swf名称?

Actionscript 3 如何使用javascript获取swf名称?,actionscript-3,flash-cs5,Actionscript 3,Flash Cs5,我已经嵌入了一个名为video.swf的swf三次 主权财富基金名称为video1、video2和video3 如果我玩swf,我想得到当前正在玩的swf的名字? 可能吗 我正在使用javascript进行通信。如果您三次使用同一swf文件,您必须传入一个flash var,让swf知道它是哪个实例(video1、video2或video3)。然后,当video.swf实例开始播放时,使用AS3的外部接口调用JavaScript并将该swf实例标记为当前正在播放的实例 使用SWFObject在页

我已经嵌入了一个名为video.swf的swf三次

主权财富基金名称为video1video2video3

如果我玩swf,我想得到当前正在玩的swf的名字?

可能吗


我正在使用javascript进行通信。

如果您三次使用同一swf文件,您必须传入一个flash var,让swf知道它是哪个实例(video1、video2或video3)。然后,当video.swf实例开始播放时,使用AS3的外部接口调用JavaScript并将该swf实例标记为当前正在播放的实例

使用SWFObject在页面中嵌入SWF,可以在JavaScript中设置FlashVar,如下所示:

var flashvars1 = {
    name: "video1",
};

swfobject.embedSWF("video1.swf", "flashContent1", "640", "480", "10.0.0", false, flashvars1, {}, {});

var flashvars2 = {
    name: "video2",
};

swfobject.embedSWF("video2.swf", "flashContent2", "640", "480", "10.0.0", false, flashvars2, {}, {});

var flashvars3 = {
    name: "video3",
};

swfobject.embedSWF("video3.swf", "flashContent3", "640", "480", "10.0.0", false, flashvars3, {}, {});
在每个swf中,您现在将有一个“name”变量,可以通过LoaderInfo访问:

var name:String = LoaderInfo(this.root.loaderInfo).parameters.name;
您从Flash中调用ExternalInterface,如下所示:

ExternalInterface.call( "videoPlaying", name );
这将调用名为“videoPlaying”的JavaScript函数,该函数的名称作为参数:

function videoPlaying(name) {
    // do something with the name arg
}

在一个项目中,我必须做一些非常类似的事情(在一个页面上有多个嵌入式播放器,一次只播放一个剪辑(播放不同的剪辑,会暂停其他剪辑,等等) e、 g

var vids=['video/file/72066F40BFCAEA46E1046058B4B4BCB.mp4','video/file/3d5db6b87f9cdacb016c9c55afed1e08.mp4','video/file/c18b04a1a548cbf20609de70a106d7cc.mp4','video/file/4568A11F3F6A7FF467A85FE2AC08E6.mp4','video/file/B91081D37A81694C0E345958C51.4';对于长度
为了获得id,我使用了一个以前不知道的小技巧(执行用actionscript创建的JS),使用Zeh Fernando的优秀指南:


HTH

你的问题有点含糊:首先你说这是关于主权财富基金之间的沟通,然后你说你想得到目前正在使用的主权财富基金的名称。你能澄清一下吗?还有,你指的是什么样的名称?主权财富基金的文件名?干杯。不是真的,但我会给你一个很大的答案,我们可以从那里跳舞。@BennyGeo你现在能找到我吗?*那是什么?你可以说…@Taurayi:嗨…你是什么意思?
var vids = ['video/file/72066f40bfcaea46e10460585b4e4bcb.mp4','video/file/3d5db6b87f9cdacb016c9c55afed1e08.mp4','video/file/c18b04a1a548cbf20609de70a106d7cc.mp4','video/file/4568a11f3f6a7ff467a85fefe2ac08e6.mp4','video/file/b91081d37a81692194c0e34580958c51.mp4'];         for(var i = 0 ; i < vids.length; i++){
                var flashvars = {};
                flashvars.video_url = 'http://www.swatchmtvplayground.com/'+vids[i];
                flashvars.video_id = i;
                flashvars.locale = "gb";
                flashvars.skin = 'upperBackground:0xf8c3c4,lowerBackground:0xe2e2e2,generalControls:0x000000,slider:0xb58f8f,progress:0xe2e2e2';
                var params = {};
                var attributes = {};
                attributes.id = "mediaplayer"+i;
                so = swfobject.embedSWF("http://www.swatchmtvplayground.com/flash/mediaplayer/mediaplayer.swf", "mediaplayer"+i, "578", "345", "10.0.0", false, flashvars, params, attributes);
            }
            function pauseAllPlayers(exceptThisOne){
                for(var i = 0 ; i < vids.length ; i++) if(exceptThisOne != "mediaplayer"+i) document.getElementById("mediaplayer"+i).pause();
            }