FLV PLAYBACK:初始加载后动态更改flashvars.streamName

时间:2010-08-19 16:18:59

标签: javascript flash swfobject flashvars

我有简单的播放设置:

    <script type="text/javascript">
        var flashvars = {};
            flashvars.skinName = "Clear_Skin_1";
            flashvars.streamName = "movies/FLV768KB.flv";
        var params = {};
        var attributes = {};
        swfobject.embedSWF(
                "FLVPlayer_Progressive.swf", 
                "myAlternativeContent", 
                "320", 
                "240", 
                "9.0.0", 
                "swfobject_2_2/expressInstall.swf", 
                flashvars, 
                params, 
                attributes
                );
        </script>

目标是动态改变视频播放,假设我有一堆视频可供选择。播放从一个视频开始,用户点击页面的html部分中的缩略图,我希望点击反映列表中另一个视频的视频播放。

1)是否有原生支持,无需修改实际播放器并添加额外的AS来支持回调。母鸡在初始加载后动态更改flashvars.streamName吗?

2)如果NO是1)的答案那么我应该从dom中删除保存flash播放器实例的div,将flashvars.streamName实例更改为新电影,然后添加新的flash player容器实例以嵌入新实例和加载下一部电影?

提前非常感谢你。

1 个答案:

答案 0 :(得分:1)

你可以使用ExternalInterface在Javascript和amp;之间进行通信。 Flash,使用flashvars加载第一个视频,但之后你可以从Javascript发送下一个视频网址。看一下使用swfObject测试套件的这个例子,你会看到如何以这种方式发送变量值

http://www.bobbyvandersluis.com/swfobject/testsuite_2_2/test_com2.html

检查ExternalInterface类的文档 http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/