2012-07-23 57 views
0

我創造了一些培訓視頻使用Adobe吸引6.當我看到他們採取任何地方從10到60秒之間的任何遊戲開始在窗口中的任何事情之前顯示之前加載視頻(該文件從1MB達到5MB) 。我使用jquery將它們加載到jquery-ui對話框中,當文件完全下載時讓瀏覽器開始播放。我怎樣才能讓一個.swf文件立即開始播放?

我的問題,正在等待瑞士法郎戲開始之前完全下載。我希望它開始播放,然後在播放時繼續下載,以便用戶在看到某些內容之前不必等待很長時間。

視頻培訓,這樣對我來說是一個比較新的領域,所以我真的不知道我的選擇是......如果瑞士法郎是不是要走的路,我有什麼用吸引的選擇嗎?我嘗試了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> 

這裏是保存.swf文件的代碼,並得到了PHP頁面放置在#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">&nbsp; 
    </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

Captivate和大多數Flash電影不是在作爲電影的線性時尚,儘管其中的一些內容可能以這種方式出現。爲SWF發揮了大量的交互邏輯。也就是說,你幾乎可以看到它們就像是DLL,EXE,Java JAR或IPA(iphone),它們在下載完整個二進制文件之前無法運行。

也就是說,即使在SWF部分加載時,SWF也提供了內容開發者運行和播放內容的方式,但是由開發人員來生成SWF或程序生成此輸出的能力,通常這是非常複雜的是,這是大多數開發者尚未追求的水平。就你而言,我不認爲Captivate提供這種功能。但是,如果你想讓它發生,你可以考慮將Captivate電影分成更小的電影並將它們鏈接在一起,但是我懷疑Captivate會在當前電影播放時預先加載下一個電影。

+0

感謝您的答覆......我注意到,如果瀏覽器緩存已經下載的文件,下一次我點擊它,它就會立刻發揮它...它是可以下載這些進入客戶端cach併爲它們做好準備......或者像memcache這樣的東西可以幫助做到這一點? – Ronedog 2012-07-23 18:14:58

0

的Captivate 6和7(可能8)允許您確定影片開始播放前多大比例的電影應該下載。我有一段時間沒有使用Captivate 6,所以我不記得它在UI中的位置,但是在Captivate 7上,從主菜單中選擇Quiz -> Quiz Preferences打開首選項對話框。在那裏你可以調整preloader %。這是在播放開始之前將要下載的電影的百分比。默認情況下,它被設置爲100%,這可以解釋爲什麼您的電影只有在完全下載之後才能開始。

在我的經驗,設置此%會在一些設置,但不是別人的工作。不過,這值得一試。

-Patrick