【问题标题】:How to loop a video in Flash如何在 Flash 中循环播放视频
【发布时间】:2010-06-10 17:16:55
【问题描述】:

所以我有一个 quicktime 格式的视频,将其放入 flash 中,对其进行编码没有问题,这是我得到的结果:http://www.healthcarepros.net/travel.html

我希望视频一结束就“循环播放”或“自动倒带”,但我很难弄清楚如何做到这一点。这是我的代码,任何帮助将不胜感激......

if (AC_FL_RunContent == 0) {
    alert("This page requires AC_RunActiveContent.js.");
} else {
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
        'width', '330',
        'height', '245',
        'src', 'healthcare-video',
        'quality', 'high',
        'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
        'align', 'middle',
        'play', 'true',
        'loop', 'true',
        'scale', 'showall',
        'wmode', 'window',
        'devicefont', 'false',
        'id', 'healthcare-video',
        'bgcolor', '#ffffff',
        'name', 'healthcare-video',
        'menu', 'true',
        'allowFullScreen', 'false',
        'allowScriptAccess','sameDomain',
        'movie', 'healthcare-video',
        'salign', ''
        ); //end AC code
}

    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="330" height="245" id="healthcare-video" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="loop" value="true" />
<param name="play" value="true" />
<param name="movie" value="healthcare-video.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />    <embed src="healthcare-video.swf" play="true" flashvars="autoplay=true&play=true&autorewind=true" quality="high" bgcolor="#ffffff" width="330" height="245" name="healthcare-video" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

【问题讨论】:

    标签: html flash actionscript loops action


    【解决方案1】:

    您必须在您设置的播放器中执行此操作。您无法在显示 SWF 的 HTML/Javascript 中更改此设置。

    在您创建用于制作 SWF 的 FLA 中,您需要添加一些 Actionscript。它需要监听视频的 COMPLETE 事件,然后在该事件触发后重播。根据您使用的是 AS2 还是 AS3,代码会有所不同。

    你在使用内置的 FLV 组件吗?

    如果您使用的是 AS2 并且仅使用 Video 对象,请使用以下代码:

    ns.onStatus = function(info) {
       if (info.code == "NetStream.Play.Stop") {
       ns.seek(0);
       }
    }; 
    

    如此处所述:http://www.communitymx.com/content/article.cfm?cid=984BA

    如果您使用的是 FLV 组件,在 AS3 中,您将使用以下代码来控制循环:

    import fl.video.*;
    
    // Video component instance name
    var flvControl:FLVPlayback = display;
    var flvSource:String = "Call_to_Action.flv";
    
    // Loop the video when it completes
    function completeHandler(event:VideoEvent):void
    {
       flvControl.seek(0);
       flvControl.play()
    }
    flvControl.addEventListener(VideoEvent.COMPLETE, completeHandler);
    
    // Set video
    flvControl.source = flvSource;
    

    如此处所述:http://www.adobe.com/devnet/flash/articles/flvplayback_programming_04.html

    这个概念是从 FLV 中侦听特定事件,然后从头开始重新播放视频。

    您需要使用的代码实际上取决于您将视频放入 FLA 文件的方式。希望这会有所帮助!

    【讨论】:

    • 谢谢,我使用了actionscript 3代码,效果很好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多