我们想在Sharepoint网站上显示Flash视频文件(教程)。 问题是,我们似乎无法阻止它自动播放(使用Windows Media Player)或通过单击(使用flash嵌入)开始播放。 我们目前有一个包含此代码的内容编辑器WebPart:
<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>
知道如何在用户点击后播放“播放”按钮或开始播放视频吗?
答案 0 :(得分:2)
嵌入SWF对象的方式,它将自动加载并开始播放(如您所述)。基于单击的延迟加载或加载的一般技术是将对象HTML代码实际包装在某些javascript中,并根据您的单击事件将其动态添加到DOM。这也是网站实际加载或开始播放视频文件的方式,直到它滚动到视图中发生 - 而不是绑定到click事件,它们连接到其他一些可见性触发器。
互联网上有一堆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 :(得分:1)
另一种可能更强大的方法是创建或获取具有您正在寻找的控件的Flash视频播放器。 Flash文件可以加载其他Flash文件或Flash视频文件,因此您可以将该视频包装在您想要的任何类型的UI中。
如果您愿意,甚至可以让Flash视频播放器调用您的sharepoint网站的Web服务API并从一个或多个列表中请求列表项(所有这些都是可配置的)然后它可以显示视频,预览,图像,无论什么,内部玩家。这一切都受到你的想象力和预算的限制。 :d
保