如何在Flash中循环播放视频

时间:2010-06-10 17:16:55

标签: html flash actionscript loops action

所以我有一个快速格式的视频,把它扔进闪存,编码没有问题,这是我得到的结果: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>

1 个答案:

答案 0 :(得分:2)

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

在您创建的FLA中创建SWF,您需要添加一些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文件的方式。希望这有帮助!