我有一些使用adobe captivate 6创建的培训视频。当我观看视频时,他们需要在10到60秒之间加载任何播放开始之前,窗口中显示任何内容(文件范围从1MB到5MB) )。我正在使用jquery将它们加载到jquery-ui对话框中,只需让文件完全下载后浏览器开始播放。
我遇到的问题是,等待.swf在播放开始前完全下载。我希望它能够开始播放,然后在播放时继续下载,这样用户就不必等待很长时间才能看到内容。
像这样的视频培训对我来说是一个相对较新的领域,所以我真的不知道我的选择是什么......如果.swf不是要走的路,使用captivate有什么选择?我尝试了captviate的youtube导出,但它调整了视频的大小以适应youtube,使得字体太小而无法读取。
当我在youtube上观看视频时,它们会立即开始播放,但在观看时继续下载...我喜欢这个概念并想知道是否可以使用我现有的.swf文件来实现这样的功能。
此问题有哪些选项和可能的解决方案?
提前感谢您的帮助。
这是加载对话框的调用:
<span onclick="$('#popup_tutorial').dialog('option', 'position', 'top').dialog('option','title','Portfolios - Creating a new portfolio').load('tutorials/acctg_payments.php').dialog('widget').dialog('open');" class="a_link edit_link">View Tutorial</span>
这是#popup_tutorial html:
<div id="popup_tutorial" style="text-align:left"></div>
<script type="text/javascript">
$("#popup_tutorial").dialog({
bgiframe: true,
autoOpen: false,
Height: 740,
width: 900,
modal: false,
close: function () {$(this).empty();}
});
</script>
这里是.php页面,它包含.swf代码并放在#popup_tutorial div中:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<script src="standard.js" type="text/javascript"></script>
</head>
<body bgcolor="#f5f4f1">
<div id="CaptivateContent">
</div>
<script type="text/javascript">
var so = new SWFObject("acctg_payments_making.swf", "Captivate", "881", "720", "10", "#CCCCCC");
so.addParam("quality", "high");
so.addParam("name", "Captivate");
so.addParam("id", "Captivate");
so.addParam("wmode", "window");
so.addParam("bgcolor","#f5f4f1");
so.addParam("menu", "false");
so.addParam("AllowScriptAccess","always");
so.addVariable("variable1", "value1");
so.setAttribute("redirectUrl", "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash");
so.write("CaptivateContent");
</script>
<script type="text/javascript">
document.getElementById('Captivate').focus();
document.Captivate.focus();
</script>
</body>
</html>
答案 0 :(得分:0)
Captivate并且大部分Flash电影都不像电影那样以线性方式构建,即使它们的某些内容可能以这种方式出现。为SWF提供了大量的交互式逻辑。也就是说,您几乎可以看到它们就像DLL,EXE,Java JAR或IPA(iphone),在下载整个二进制文件之前无法运行。
也就是说,SWF为内容开发人员提供了在SWF部分加载时运行和播放内容的方法,但是由生成SWF的开发人员或程序生成此输出的能力决定,通常它非常复杂它是大多数开发人员尚未追求的水平。在你的情况下,我不认为Captivate提供这样的能力。
然而,如果你想要实现它,你可以考虑将Captivate电影分解成更小的电影并将它们链接在一起,但我怀疑Captivate会在当前电影播放时预装下一部电影。
答案 1 :(得分:0)
Captivate 6和7(可能是8)允许您确定在电影开始播放之前应下载的电影百分比。我有一段时间没有使用Captivate 6所以我不记得它在UI中的确切位置,但是在Captivate 7上,从主菜单中选择Quiz -> Quiz Preferences
以打开首选项对话框。在那里你可以调整preloader %
。这是在播放开始之前将下载的电影的百分比。默认情况下,它设置为100%,这可以解释为什么您的电影在完全下载之前不会开始。
根据我的经验设置,此%将在某些设置中有效,但在其他设置中无效。不过,值得一试。
-Patrick