2010-02-04 80 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