2010-02-04 83 views
3

我們希望在我們的Sharepoint網站上顯示Flash視頻文件(教程)。 問題是,我們似乎無法阻止它自動播放(使用Windows Media Player),或者通過單擊(使用Flash嵌入)來啓動播放。 我們有一個內容編輯的WebPart與目前此代碼:Sharepoint上的Flash視頻

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="320" HEIGHT="240" id="Tutorial1" ALIGN=""> 
<PARAM NAME=movie VALUE="video.swf"> 
<PARAM NAME=quality VALUE=high> 
<PARAM NAME=bgcolor VALUE=#333399> 
<EMBED src="http://mydomain.com/infocentre/Videos/video.swf" quality=high bgcolor=#333399 WIDTH="320" HEIGHT="240" NAME="video.swf" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> 
</EMBED> 
</OBJECT> 

任何想法,我們如何才能得到一個「播放」按鈕或開始視頻播放一旦用戶點擊了嗎?

回答

2

您嵌入SWF對象的方式會自動加載並開始播放(如您所述)。基於點擊的延遲加載或加載的一般技術是實際將對象HTML代碼包裝在一些javascript中,並根據您的點擊事件將其動態添加到DOM。這也是網站實際上並沒有加載或開始播放視頻文件,直到它滾動到視圖中 - 而不是被綁定到點擊事件,它們連接到其他可見性觸發器。

還有一堆在互聯網上的SWF裝載器腳本的,但簡而言之,你做這樣的事情:

<a id="player" href="#" onclick="playfile()">Play File</a> 

和playfile()的定義

function playfile() { 
    // create the param and embed tags, set their values 
    var param = document.createElement('param'); 
    param.name = "movie"; 
    param.value = "video.swf"; 
    var embed = document.createElement('embed'); 
    embed.src = "video.swf"; 
    embed.quality = "high"; 
    embed.bgcolor = "#333399"; 
    embed.width = 320; 
    embed.height = 240; 
    embed.name = "video.swf"; 
    // create the object tag and add the param and embed children 
    var object = document.createElement('object'); 
    object.width = 320; 
    object.height = 240; 
    object.appendChild(param); 
    object.appendChild(embed); 
    // add new element after A tag 
    document.getElementById('player').appendChild(object); 
} 

這完全是粗糙和未經測試,甚至可能無法工作 - 但這個想法是合理的,應該讓你朝着正確的方向前進。祝你好運!

1

另一種可能更強大的方法是創建或獲取具有您要查找的控件的Flash視頻播放器。 Flash文件可以加載其他Flash文件或Flash視頻文件,因此您可以使用任何類型的UI來包裝該視頻。

如果您願意,甚至有可能讓Flash視頻播放器調用您的SharePoint站點的Web服務API並要求列出來自一個或多個列表的項目(所有這些都是可配置的),然後它可以顯示視頻的,預覽,圖像,無論在玩家內部。這一切都受到你的想象力和預算的限制。 :D

Paul