私は1つのswfを埋め込んでいます3つの回video.swfという名前です。javascriptを使用してswfの名前を取得するには?
SWFの名前がビデオ1、VIDEO2とVIDEO3です。
swfを再生すると、現在再生中のswfの名前を取得したいのですか?
可能ですか?
私は通信にjavascriptを使用しています。
私は1つのswfを埋め込んでいます3つの回video.swfという名前です。javascriptを使用してswfの名前を取得するには?
SWFの名前がビデオ1、VIDEO2とVIDEO3です。
swfを再生すると、現在再生中のswfの名前を取得したいのですか?
可能ですか?
私は通信にjavascriptを使用しています。
私はこのプロジェクトにworkのために非常に似た何かをしなければならなかったSwatch/MTV(ページに複数の埋め込みプレーヤーを有する唯一の演奏一度に1つのクリップ(別のクリップを再生する、他の人が一時停止するなど)
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();
}
私は、私が以前にZEHフェルナンドの優秀なガイドを使用して(ActionScriptで作成されたJSを実行する)知りませんでした小ぎれいなトリック使ってきたIDを取得する:あなたの質問Getting the SWF’s HTML object/embed id from within the Flash movie itself
HTH
同じswfファイルを3回使用している場合、swfにどのインスタンスが(video1、video2、またはvideo3)かを知らせるためにflash varを渡す必要があります。次に、video.swfインスタンスの再生が開始されると、AS3のExternalInterfaceを使用してJavaScriptを呼び出し、そのSWFインスタンスを現在再生中のものとしてマークします。あなたはこのようにJavaScriptでのFlashVarsを設定することができ、ページ内のSWFを埋め込むためにSWFObjectを使用し
:それぞれのswf内
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, {}, {});
は、あなたが今にLoaderInfoを介してアクセスすることができる「名前」、VARがあるでしょう:
var name:String = LoaderInfo(this.root.loaderInfo).parameters.name;
そして、あなたはそのようにフラッシュからのExternalInterfaceを呼び出します。
ExternalInterface.call("videoPlaying", name);
これは、引数として名前で「videoPlaying」と呼ばれるJavaScript関数を呼び出します。
function videoPlaying(name) {
// do something with the name arg
}
私はflashVarsについて考えなかった.... gr8 ....ありがとう。 – Benny
を少し曖昧です:まず、SWF間の通信について述べておきますが、現在再生しているSWF名を取得したいと述べています。あなたは明確にしていただけますか?また、あなたはどんな名前を指していますか? SWFファイル名?乾杯。 – amn
あなたは今私を得ることができますか? – Benny
本当にありませんが、私はあなたに大きな脂肪の答えを与え、そこから踊ることができます。 – amn