整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端入门-html 如何在网页中使用视频音频

篇介绍了前端入门——html 中如何使用图片,今天讲下如何使用视频和音频等多媒体元素,它们能让你的网页更加丰富,读者相对于文字图片更愿意观看视频和音频或其它多媒体。在本教程中,您将了解到不同的多媒体格式,以及如何在您的网页中使用它们。

什么是多媒体?

是多种媒体的综合,一般包括文本,声音和图像等多种媒体形式。在计算机系统中,多媒体指组合两种或两种以上媒体的一种人机交互式信息交流和传播媒体。使用的媒体包括文字、图片、照片、声音、动画和影片,以及程式所提供的互动功能。

在因特网上,您会经常发现嵌入网页中的多媒体元素,现代浏览器已支持多种多媒体格式。

多媒体文件格式

多媒体元素(比如视频和音频)存储于媒体文件中。多媒体元素也拥有带有不同扩展名字的文件格式,比如 .swf、.wmv、.mp3 以及 .mp4。具体有哪些格式可以参考 w3cshool 网站的介绍,https://www.w3cschool.cn/html5/html5-video.html ,https://www.w3cschool.cn/html5/html5-audio.html。

HTML5 Video(视频)

直到现在,网页上仍然不存在一项显示视频的标准。今天,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。HTML5 规定了一种通过 video 元素来包含视频的标准方法。

语法如下:

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  您的浏览器不支持Video标签。
</video>

<video> 元素提供了播放、暂停和音量控件来控制视频。

同时 <video> 元素也提供了 width 和 height 属性控制视频的尺寸。如果设置的高度和宽度,所需的视频空间会在页面加载时保留。如果没有设置这些属性,浏览器不知道视频的大小,浏览器就不能在加载时保留特定的空间,页面就会根据原始视频的大小而改变。

<video> 与 </video> 标签之间插入的内容是提供给不支持 video 元素的浏览器显示的。元素可以链接不同的视频文件。浏览器将使用第一个可识别的格式。一个页面可以使用多个<video> 标签,<video> 元素支持三种视频格式: MP4, WebM, 和 Ogg。

显示效果:

HTML5Audio(音频)

和视频一样没有统一的标准,各个浏览器都不一样。HTML5 规定了在网页上嵌入音频元素的标准,即使用 <audio> 元素。通过使用HTML5中的audio功能,你可以实现与flash相同的功能,即回放、跳转、缓冲等。

语法如下:

<audio controls>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
  您的浏览器不支持 audio 元素。
</audio>

control 属性供添加播放、暂停和音量控件。在<audio> 与 </audio> 之间你需要插入浏览器不支持的<audio>元素的提示文本 。允许使用多个 <source> 元素。<source> 元素可以链接不同的音频文件,浏览器将使用第一个支持的音频文件。目前, <audio>元素支持三种音频格式文件: MP3, Wav, 和 Ogg。

显示效果:

HTML 插件——辅助应用程序

插件(Plug-in)是扩展浏览器标准功能的计算机程序,插件被设计用于许多不同的目的:

  • 运行 Java 小程序
  • 运行 ActiveX 控件
  • 显示 Flash 电影
  • 显示视频或音频
  • 显示地图
  • 扫描病毒
  • 验证银行账号

1、<object> 元素

<object> 元素定义 HTML 文档中的嵌入式对象。

它旨在将插件(例如 Java applet、PDF 阅读器和 Flash 播放器)嵌入网页中,但也可以用于将 HTML 包含在 HTML 中。

如下:

插入一个网页片段

<object width="100%" height="500px" data="snippet.html"></object>

或者插入一个图片

<object data="audi.jpeg"></object>

播放一个视频

<object width="420" height="360"
classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
codebase="http://www.apple.com/qtactivex/qtplugin.cab">
<param name="src" value="movie.mp4">
<param name="controller" value="true">
</object>

播放一个音频

<object height="100" width="100" data="song.mp3"></object>

2、<embed> 元素

<embed> 元素也可定义了 HTML 文档中的嵌入式对象。这是一个 HTML5 标签,在 HTML4 中是非法的,但是所有浏览器中都有效。

插入一个flash文件

<embed width="400" height="50" src="bookmark.swf">

插入html片段

<embed width="100%" height="500px" src="snippet.html">

播放一个音频

<embed height="100" width="100" src="song.mp3" />

插入一个图片

<embed src="audi.jpeg">

注意:

大多数浏览器不再支持 Java 小程序和插件。

大多数现代浏览器关闭了对 Flash 的支持。

我们可以使用 <video> 和 <audio> 标签来显示视频和音频

视频和音频如何兼容大多浏览器

如下视频代码HTML 5 <video> 元素会尝试播放以 mp4、ogg 或 webm 格式中的一种来播放视频。如果均失败,则回退到 <embed> 元素。

HTML 5 + <object> + <embed> 是最好的解决办法。

<video width="320" height="240" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
  <source src="movie.ogg" type="video/ogg" />
  <source src="movie.webm" type="video/webm" />
  <object data="movie.mp4" width="320" height="240">
    <embed src="movie.swf" width="320" height="240" />
  </object>
</video>

如下音频代码HTML5 <audio> 元素会尝试以 mp3 或 ogg 来播放音频。如果失败,代码将回退尝试 <embed> 元素。

HTML 5 + <embed> 是最好的解决办法。

<audio controls="controls" height="100" width="100">
  <source src="song.mp3" type="audio/mp3" />
  <source src="song.ogg" type="audio/ogg" />
  <embed height="100" width="100" src="song.mp3" />
</audio>

到此你以及了解了如何在网页中使用视频音频及其它多媒体控件,赶快自己试试,祝你学习愉快。

参考文献:https://www.w3school.com.cn/html/html_video.asp

上篇:前端入门——html 中如何使用图片

下篇:前端入门——html 表格的使用

lash Player是一个耳熟能详的名字。1997年问世Flash陪伴着一代网民的成长,这其中就包括了00后的我。Flash由著名公司Adobe运营并开发,内置了脚本语言AS,由于其使用矢量图形实现数据最小化,在低速互联网时代成为了开发互联网应用程序、视频音频的绝佳工具,甚至沿用至今。

我很早接触PC和互联网,也有着开启电脑先要“本地连接”的经历,更清晰地记得Office 2000中那摇头晃脑的回形针(Office Assistant)以及瑞星小狮子。如今的我熟练运用Photoshop的图层蒙版,也熟悉Android Studio的开发环境和反编译,同时懂些Linux的皮毛,但是毕竟我才学疏浅,若有纰漏和错误欢迎指出。

为什么我们要弃用Flash?

于官方宣传全球十几亿用户的光环下,2010年4月Apple前CEO史蒂夫·乔布斯发表了一封著名的公开信,批评了Flash的安全性和稳定性,并指出不会在任何Apple的移动端设备上支持Flash。在此之前的二月,Adobe因为没能修复Flash已知漏洞一年而道歉。

由于Flash数以百计的安全漏洞,昔日的王者竟成了骇客的温床——2009年Adobe公司亲自承认“Flash Player所列出的所有互联网技术(包括网络插件和浏览器)的漏洞数量排名第二”。著名安全公司卡巴斯基也于2012年的报告指出“Flash Player漏洞使网络犯罪分子能够绕过集成到应用程序中的安全系统。”随后曝光的漏洞“Magnitude”又能轻易地让骇客远程执行代码。

可以说安全性的Flash最大的问题,然而弃用Flash的理由远不止这一点——Flash的隐私性同样被人诟病。

Flash在计算机本地保存数据,由于站点可以通过Flash cookies检索其他站点保存于本地的用户信息,例如身份验证信息、游戏高分或保存的游戏、基于服务器的会话标识、站点首选项、已保存的工作或临时文件,从而建立用户档案,甚至出售用户数据。如今在Chrome等著名浏览器的最新版本中Cookies的本地储存功能已被禁用。

随着比Flash更优秀的后来者HTML5标准制定的完成,Flash的处境显得尴尬透顶。根据Wikipedia的释义:“HTML5是HTML最新的修订版本,由万维网联盟(W3C)于2014年10月完成标准制定。目标是取代1999年所制定的HTML 4.01和XHTML 1.0标准,以期能在互联网应用迅速发展的时候,使网络标准达到匹配当代的网络需求。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少网页浏览器对于需要插件的丰富性网络应用服务(Plug-in-Based Rich Internet Application,RIA),例如:Adobe Flash、Microsoft Silverlight与OracleJavaFX的需求,并且提供更多能有效加强网络应用的标准集。”

用浅显易懂的话来概括,即“HTML5是一种功能上能代替Flash,性能、安全性及隐私性均大幅超过Flash的标准”。

最近Flash发生了什么?为什么重新被推上风口?

2018年2月28日,上海剑圣网络科技有限公司(即2144游戏)宣布获得了Adobe Flash Player在中国大陆地区的独家代理发行权。中国大陆的用户在访问Adobe Flash Player的下载页面时,将强制跳转到2144域名下的下载页面,同时会默认捆绑2144游戏中心,且取消捆绑安装的复选框位置隐蔽。近日网友发现大陆定制版Flash用户协议区域比Adobe公司的原版下载页面多了一条的《Helper Service服务协议》。

该协议的其中一部分写道:

2.2只要用户开始使用程序,即表示用户无条件的接受了本协议的相关规定并愿意受其约束,否则用户无权使用程序。

3.1这款程序是重橙提供的一款为用户更好的使用Adobe Flash Player的必要程序,没有程序,Adobe Flash Player无法运行。其功能包括但不限于辅助Adobe Flash Player的更新升级等。

3.3用户同意本协议,使用程序,表示重橙已经明确告知用户,随着Adobe Flash Player版本的更新,程序将会自动静默安装新版本的Adobe Flash Player。

5.1用户同意本协议,使用程序,表示重橙已经明确告知用户,在用户使用Adobe Flash Player过程中,重橙可能会通过该程序收集用户的上网信息,以便为用户提供更好的产品和/或服务并改善用户体验。

5.2重橙承诺采取必要措施保护用户存放在服务器上的个人数据及收集到的用户上网信息的安全。除本协议约定的除外情况,重橙保证不对外公开或向第三方提供、公开或者共享用户的数据及上网信息。

5.3以下情况,重橙对用户的个人数据及上网信息的披露将不视为违约,具体包括:

(1)重橙已经获得用户的明确授权;

(2)根据有关法律法规的要求,重橙负有披露义务的;

(3)司法机关或行政机关基于法定程序要求重橙提供的;

(4)为维护社会公共利益及重橙合法权益,在合理范围内进行的披露;

(5)重橙可能会和第三方合作向用户提供相关网络服务或者其数据收集工具用以完善自身服务,在此情况下,如该第三方愿意承担与重橙相等的隐私保护责任的,则重橙可在合理范围内对用户信息进行披露;

(6)其他必须披露用户数据和上网信息的情况。5.4尽管重橙已经为用户的隐私权做了极大努力,仍然不能保证现有的安全措施使用户数据等不受任何形式的损失。用户对此情况充分知情,且不会因此追究重橙的法律责任。

经过简单的阅读就可以轻易得知,该公司按协议收集用户数据时、或是不慎将用户隐私泄露后也不愿负任何法律责任。

按Wikipedia的记录,中国大陆用户最后一个能正常安装使用的ActiveX和NPAPI版本是28.0.0.137,之后的版本均带有2144的进程“FlashHelperService.exe”,且无法关闭,如果关闭进程则Flash内容就会拒绝显示。Google Chrome自带的PPAPI版本不受影响。从Flash Player 30起,中国大陆的ActiveX、NPAPI和Win10上的PPAPI版本开始实行锁区策略,分成了全球版和大陆版两个独立的版本,即大陆用户无法安装运行全球版,中国大陆以外的用户无法安装运行大陆版。

在此事被曝光不久后中国定制版的Flash立即修改了用户协议,可谓是做贼心虚。除此收集隐私以外,经过笔者的实际测试,中国定制版的Flash时不时会给你于桌面右下角推送广告。

当然对此IT之家也给出了相应的解决方案,我不敢对此妄加评论(原因参照知乎),但是我只想说一下这件事情和一家名叫”苏州思杰马克丁“的公司有着千丝万缕的关系,感兴趣的朋友可以在知乎、Google上阅读相关内容。

弃用Flash的道路依然艰险

正是由于Flash的种种缺点,正是由于HTML5的种种优点,处于糟糕的国内互联网生态下,HTML5始终得不到全面推广,Flash依然广泛使用。Flash是网页牛皮藓们——贴片小广告的最爱,同时仍是少数几个国内视频网站的盈利大杀器。当你屏蔽了Flash,你也许会感觉整个世界都清净了。

每当我想要看CCTV5直播时,打开央视电视直播就必须启用Flash;打开教育局官网查询比赛程序,却发现网页内容七零八落——同是没启用Flash。在国际上极度打击Flash,Google、Microsoft、Facebook和Apple等强强联手推广HTML5时,国内生态让人心寒。多数国产主流浏览器仍默认启用Flash插件,流氓软件横行,网络安全更是无处谈起。同国内的Android生态一样,Windows生态也很糟糕,Flash仍是主流。在此特别点名表扬哔哩哔哩、微博(手机网页端)等国内优秀的HTML5站点,也希望这些站点能高举新技术好生态的旗帜,给中国网民更好的互联网环境。

另外值得一提的是,我国落后的信息技术教育助长了互联网流氓的嚣张气焰。作为一名准高中生,我发现我们的高中重要课程“技术”依然教授着古老的“Flash CS3”这种被淘汰了不知道多少年的课程。如同我当年学习信息奥赛时使用的、至今仍被传授给广大学生的古董级语言Pascal(不过即将被取缔),我不希望10后、20后继续学习诸如这类出现在父母大学课本里的古老“高新技术”。

22年了,Flash。你的时代,你的王朝已经结束了。

你永远活在我们的记忆里,或是那一个个网页小游戏,或是厌恶至极的网页广告都将会成为我们津津乐道的往事。

我希望和你说再见。

本文作者ZeroSimple,授权IT之家发表,如需转载请联系Email:hqf0327g@gmail.com,私自转载原作者将追究责任。

SS3 动画

CSS3,我们可以创建动画,它可以取代许多网页动画图像,Flash动画,和JAVAScripts。


CSS3

动画


CSS3 @keyframes 规则

要创建CSS3动画,你将不得不了解@keyframes规则。

@keyframes规则是创建动画。 @keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式。


浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。

属性




@keyframes43.04.0 -webkit-10.016.05.0 -moz-9.04.0 -webkit-30.015.0 -webkit-12.0 -o-
animation43.04.0 -webkit-10.016.05.0 -moz-9.04.0 -webkit-30.015.0 -webkit-12.0 -o-

实例

@keyframesmyfirst{from{background:red;}to{background:yellow;}} @-webkit-keyframesmyfirst/* Safari 与 Chrome */{from{background:red;}to{background:yellow;}}


CSS3 动画

当在 @keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。

指定至少这两个CSS3的动画属性绑定向一个选择器:

  • 规定动画的名称

  • 规定动画的时长

实例

把 "myfirst" 动画捆绑到 div 元素,时长:5 秒:

div{animation:myfirst5s; -webkit-animation:myfirst5s; /* Safari 与 Chrome */}

尝试一下 »

注意: 您必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。


CSS3动画是什么?

动画是使元素从一种样式逐渐变化为另一种样式的效果。

您可以改变任意多的样式任意多的次数。

请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。

0% 是动画的开始,100% 是动画的完成。

为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

实例

当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:

@keyframesmyfirst{ 0% {background:red;} 25% {background:yellow;} 50% {background:blue;} 100% {background:green;}} @-webkit-keyframesmyfirst/* Safari 与 Chrome */{ 0% {background:red;} 25% {background:yellow;} 50% {background:blue;} 100% {background:green;}}

尝试一下 »

实例

改变背景色和位置:

@keyframesmyfirst{ 0% {background:red; left:0px; top:0px;} 25% {background:yellow; left:200px; top:0px;} 50% {background:blue; left:200px; top:200px;} 75% {background:green; left:0px; top:200px;} 100% {background:red; left:0px; top:0px;}} @-webkit-keyframesmyfirst/* Safari 与 Chrome */{ 0% {background:red; left:0px; top:0px;} 25% {background:yellow; left:200px; top:0px;} 50% {background:blue; left:200px; top:200px;} 75% {background:green; left:0px; top:200px;} 100% {background:red; left:0px; top:0px;}}


CSS3的动画属性

下面的表格列出了 @keyframes 规则和所有动画属性:

属性描述CSS
@keyframes规定动画。3
animation所有动画属性的简写属性,除了 animation-play-state 属性。3
animation-name规定 @keyframes 动画的名称。3
animation-duration规定动画完成一个周期所花费的秒或毫秒。默认是 0。3
animation-timing-function规定动画的速度曲线。默认是 "ease"。3
animation-delay规定动画何时开始。默认是 0。3
animation-iteration-count规定动画被播放的次数。默认是 1。3
animation-direction规定动画是否在下一周期逆向地播放。默认是 "normal"。3
animation-play-state规定动画是否正在运行或暂停。默认是 "running"。3

下面两个例子设置所有动画属性:

实例

运行myfirst动画,设置所有的属性:

div{animation-name:myfirst; animation-duration:5s; animation-timing-function:linear; animation-delay:2s; animation-iteration-count:infinite; animation-direction:alternate; animation-play-state:running; /* Safari 与 Chrome: */ -webkit-animation-name:myfirst; -webkit-animation-duration:5s; -webkit-animation-timing-function:linear; -webkit-animation-delay:2s; -webkit-animation-iteration-count:infinite; -webkit-animation-direction:alternate; -webkit-animation-play-state:running;}

尝试一下 »

实例

与上面的动画相同,但是使用了简写的动画 animation 属性:

div{animation:myfirst5slinear2sinfinitealternate; /* Safari 与 Chrome: */ -webkit-animation:myfirst5slinear2sinfinitealternate;}

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!