html文件中flash视频格式(flv、swf)文件的嵌入方法

所属分类: 网页制作 / HTML/Xhtml 阅读数: 1167
收藏 0 赞 0 分享
flash文件的格式:.FLV 和 .SWF

flash视频格式有两种扩展名可以使用:.flv和.swf。他们有什么不同呢?

(1)一个.flv文件(flash视频)是基于图片的视频流和音频。如果你在运行一个流服务,flv将是一个好的选择。上游条件是,这个文件的任何部分可以被客户终端访问,并且任何时间不会等待下载。话又说回来了,运行一个流服务待价昂贵。

(2).swf也是Macromedia Flash文件格式,是一个完整的视频-音频文件,并具有脚本和其它更多的。这将有利于HTTP(渐进式)下载,也被叫做“伪随机流(psuedo streaming)”。当文件的一部分下载后,视频片段就立刻播放,但是客户端将等待flash文件片段下载后才能访问(不能快进),除非整个文件完整下载。这也是我们常常谈到的,他是一个简单的,不昂贵的,简便的方式流话你的视频媒介。SWF不是官方简称,已经有人声称它是“ShockWave Flash”或者"Small Web Format".的简称。

在页面中嵌入flash可以使用如下方式:

复制代码
代码如下:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,16,0"
width="320" height="400" >
<param name="movie" value="video-filename.swf">
<param name="quality" value="high">
<param name="play" value="true">
<param name="LOOP" value="false">
<embed src="video-filename.swf" width="320" height="400" play="true" loop="false" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash">
</embed>
</object>

这里要注意的是: <param name="movie" value="video-filename.swf">和<embed src="video-filename.swf"..... 这两个地方,都是swf文件的位置名称,其他一些参数可以参考以上链接里的介绍。

但是这样写了之后,虽然页面中swf格式的文件可以显示,但是flv格式的文件播放不了。纠结了一阵子,从dreamweaver中总结了一个解决方案:

复制代码
代码如下:

<script type="text/javascript">
function MM_CheckFlashVersion(reqVerStr,msg){
with(navigator){
var isIE = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
if (!isIE || !isWin){
var flashVer = -1;
if (plugins && plugins.length > 0){
var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
if (desc == "") flashVer = -1;
else{
var descArr = desc.split(" ");
var tempArrMajor = descArr[2].split(".");
var verMajor = tempArrMajor[0];
var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
flashVer = parseFloat(verMajor + "." + verMinor);
}
}
// WebTV has Flash Player 4 or lower -- too low for video
else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;
var verArr = reqVerStr.split(",");
var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
if (flashVer < reqVer){
if (confirm(msg))
window.location = "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
}
}
}
}
</script>
</head>
<body onload="MM_CheckFlashVersion('7,0,0,0','本页内容需要使用较新的 Macromedia Flash Player 版本。是否现在下载它?');">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="314" height="234" id="FLVPlayer">
<param name="movie" value="FLVPlayer_Progressive.swf" />
<param name="salign" value="lt" />
<param name="quality" value="high" />
<param name="scale" value="noscale" />
<param name="FlashVars" value="&MM_ComponentVersion=1&skinName=Clear_Skin_3&streamName=%E8%80%81%E5%A4%A9%E4%B8%8B%E8%B4%B0%E4%B9%8B%E8%8E%AB%E9%97%AE%E4%BB%8A%E6%9C%9D&autoPlay=true&autoRewind=true" />
<embed src="FLVPlayer_Progressive.swf" flashvars="&MM_ComponentVersion=1&skinName=Clear_Skin_3&streamName=%E8%80%81%E5%A4%A9%E4%B8%8B%E8%B4%B0%E4%B9%8B%E8%8E%AB%E9%97%AE%E4%BB%8A%E6%9C%9D&autoPlay=true&autoRewind=true" quality="high" scale="noscale" width="314" height="234" name="FLVPlayer" salign="LT" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

这里多了一个版本控制的方法MM_CheckFlashVersion()。

下部分和swf的写法很相似,但是还略有不同。<param name="movie" value="FLVPlayer_Progressive.swf" 这里不再是播放文件了,而是相当于一个播放器性质的文件,而且使用dreamweaver插入一个flash文件后,你会发现FLVPlayer_Progressive.swf这个文件和Clear_Skin_3.swf。前者相当于播放器,后者相当于皮肤,dreamweaver里面提供了多种皮肤,可以根据选择使用。在以上代码中有两处使用到了播放器文件FLVPlayer_Progressive.swf,这个和swf的很相似,但是他不是源文件。代码中skinName就是设置皮肤的,其他的一些属性都比较好理解。

总结一下,flv格式嵌入有3个要点:1,播放器FLVPlayer_Progressive.swf,这个文件必不可少,而且这个文件要和flv源文件在一个文件目录下(暂时也没有找到原因)2.皮肤skinName=Clear_Skin_3,皮肤可以更换,同样也是必不可少的,要和flv源文件在一起。3.源文件,streamName,这个参数显示源文件的文件名,不带后缀,当文件名为中文的时候,dreamweaver会知道把那个名称转换为一大串。。。。当html文件和flv文件不在同一个文件目录下面的时候,需要带上文件路径(这个在项目中要特别注意)。

 

图示中同一个页面使用了两种皮肤,一个设为自动播放,另一个为手动播放。文件格式为flv。
更多精彩内容其他人还在看

W3C教程(14):W3C RDF和OWL活动

RDF 和 OWL 是两项重要的语义网技术。 RDF 和 OWL 是两项重要的语义网技术。 语义网 (Semantic Web) 语义网是为资产管理、企业整合及网络数据的共享和重用提供的一个框架。 语义网为企业、应
收藏 0 赞 0 分享

W3C教程(16):其他的W3C活动

本节概况了其他一些重要和有趣的 W3C 活动。 本节概况了其他一些重要和有趣的 W3C 活动。 Web Accessibility Initiative (WAI) WAI 定义了如何使残障人士更易使用 Web 内容的指
收藏 0 赞 0 分享

W3C教程(13):W3C WSDL 活动

Web Services 与应用程序到应用程序的通信有关。WSDL 是一门基于 XML 的 Web Services 描述语言。 Web Services 与应用程序到应用程序的通信有关。 WSDL 是一门基于 XML 的 Web Se
收藏 0 赞 0 分享

W3C教程(15):W3C SMIL 活动

SMIL 向 web 增加了对定时和媒介同步的支持。 SMIL 向 web 增加了对定时和媒介同步的支持。 SMIL SMIL (Synchronized Multimedia Integration Language)
收藏 0 赞 0 分享

深层优化 提高网站的访问速度的一些技巧

深层优化 提高网站的访问速度的一些技巧   网站访问速度可以直接影响到网站的流量,而网站的访问量几乎与网站的利益直接挂钩,因此网站的速度问题成为企业及站长十分关注的问题。现在网站越来越多,不少朋友的网站打开速度很
收藏 0 赞 0 分享

网页制作中使用规范的HTML代码的几点

许多网站设计者最常犯的错误便是当其网页能够在IE下正常显示便认为其代码正确无误,甚至常看到有人在抱怨其网站排名不理想,到其网站简单看一下便可发现HTML代码中充斥各种各样的错误,在那样的代码基础上无论付出多少努力去优化网站结果都可能
收藏 0 赞 0 分享

关于超链接的一些问题

很高兴参加了这一期的薯片会,认识了几个朋友~~不料的却是今天我要来总结一下 很高兴参加了这一期的薯片会,认识了几个朋友~~不料的却是今天我要来总结一下 本次薯片会我们总共讨论了三个议题: A、 如何让“用
收藏 0 赞 0 分享

入门:HTML的基本标签和属性简单介绍

HTML是由标志和属性构成的,它们一起被用来告诉浏览器应该如何显示一页文档。标志用来引用一段文字或是一幅图片等文档部件,属性是标志的选项,在标志中修饰,如颜色,对齐方式,高度和宽度等。很多标志都成对出现,例如有 就有 前一个表示开始
收藏 0 赞 0 分享

总结XHTML代码常见的应用问题

一段时间以来,发现有很多人XHTML都不会用,不光是普通的初学者,有的程序员都不是很清楚该怎么写这个XHTML,我这里呢算是把一些常见的应用问题做一个总结,也算能使得大家能在沟通,合作上能形成默契。 一段时间以来,发现有
收藏 0 赞 0 分享

作用相似html标记:strong与em、q、cite、blockquote

在XHTML标签中有一些标签的作用是相似的,当然这里的相似是指语义相似,以至于很多人都不清楚这些相似的标签如何使用,那么今天的主题就是分解相似的标签,明确各个标签的用途。在前面我们已经讲过了strong与em的区别。除了strong与em之外还有
收藏 0 赞 0 分享
查看更多