平凡前端之路_03.HTML5的音频视频多媒体

HTML5音频视频

#
1在 HTML 中播放音频视频并不容易!
2直到现在,仍然不存在一项旨在网页上显示音频视频的标准。大多数音频视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。
3windows平台的IE浏览器利用Activex控件来播放flash,而其它的浏览器则使用Netscape插件技术来播放flash。
4而在HTML5 中规定了一种通过 audio/video 元素来包含音频视频的标准方法

HTML5音频

#兼容性
1Safari、Chrome、Opera和Firefox不能自动播放,需要一个页面元素上的交互
2width / height 属性没有作用,必须使用 style 标签里面的样式去控制它
浏览器MP3WavOgg
Internet Explorer 9+YESNONO
Chrome 6+YESYESYES
Firefox 3.6+NOYESYES
Safari 5+YESYESNO
Opera 10+NOYESYES

HTML5视频

#兼容性
1Safari、Chrome、Opera和Firefox不能自动播放,需要一个页面元素上的交互
浏览器MP4WebMOgg
Internet Explorer9+YESNO
Chrome 6+YESYESYES
Firefox 3.6+NOYESYES
Safari 5+YESNONO
Opera 10.6+NOYESYES

HTML5音频视频常用属性

属性描述
src设置或返回音视频的多媒体资源的值。
autoplay设置或返回是否在就绪(加载完成)后随即播放音视频。
controls设置或返回音视频是否应该显示控件(比如播放/暂停等)。
loop设置或返回音视频是否应在结束时再次播放。
width设置或返回音视频的 高度属性的值(音频的width没有作用,必须使用 style 标签里面的样式去控制)。
height设置或返回音视频的 宽度属性的值(音频的width没有作用,必须使用 style 标签里面的样式去控制)。
poster设置或返回 视频 的 海报封面属性的值。
muted设置或返回音视频是否关闭声音。
currentTime设置或返回音视频中的当前播放位置(以秒计)
duration返回当前音频/视频的长度(以秒计)
paused设置或返回音视频是否暂停
preload设置或返回音频/视频是否应该在页面加载后进行加载
volume设置或返回音频/视频的音量(0~1)
playbackRate设置或返回音频/视频播放的速度(大于1快播 小于1慢放)

HTML5音频视频常用方法

方法描述
load()重新加载音频/视频元素
play()开始播放音频/视频
pause()暂停当前播放的音频/视频

HTML5音频视频常用事件

事件描述
pause当音频/视频已暂停时
play当音频/视频已开始或不再暂停时
playing当音频/视频在已因缓冲而暂停或停止后已就绪时

HTML5音频视频特殊属性

属性描述
controlsList(有兼容问题)设置或返回 显示指定控件。枚举值有(nofullscreen:不显示全屏控件,nodownload:不显示下载控件, noremoteplayback:不显示远程回放控件)

浏览器不支持音频视频自动播放的解决方案

#解决方案
1在chrome 浏览器中输入:chrome://flags,搜索“Autoplay policy”,默认为“Default”,修改为 “No user gesture is required”
2muted静音的自动播放总是被允许的。
3用户已经产生交互(点击触摸滑动等…) ,而不是说一定要用户点击audio或者video去播放

HTML5自适应的图片策略

让浏览器能自动调节图片尺寸。

  • 分辨率切换:小屏手机屏幕上显示网页,那么没有必要在网页上嵌入pc端的大图片,浪费带宽。
  • 艺术方向:当网站在狭窄的屏幕上观看时,显示一幅包含了重要细节的裁剪版图片,而不是显示pc端的大图,这样会显得图片缩小,重要地方不突出。

使用srcset+sizes的切换解决方案

img 元素的srcset+sizes提供更多额外的资源图像和提示,帮助浏览器选择正确的一个资源。
srcset 属性定义了我们允许浏览器选择的图像集合,浏览器可以根据宽、高和像素密度来加载相应的图片资源。

使用srcset的宽度描述符时需要sizes属性。
* srcset语法: “图片路径 物理像素, 图片路径 物理像素, …”
* size: “媒体查询 css像素”
* src: 当浏览器不支持上面的属性的时候,默认加载这里

检查sizes列表中哪个媒体条件是第一个为真
加载srcset列表中引用的最接近所选的槽大小的图像

//<img 
//	srcset="big-1400w.jpg 1440w, 
//		middle-1000w.jpg 1000w, 
//		small.jpg 750px" 
//	sizes="(max-width: 1920px) 1440px,
 //    	(max-width: 1200px) 1000px,
//     	750px"
//    src="small.jpg " alt=""
///>

HTML5 picture 标签

HTML5 的 <picture> 元素可以设置多张图片。
<picture> 元素类似于 <video> 和 <audio> 元素。可以设备不同的资源,第一个设置的资源为首选使用的:

  • srcset 属性的必须的,定义了图片资源。
  • media 属性是可选的。
  • source当中的也可以使用srcset、sizes属性。
  • 必须提供一个img元素,以备浏览器不支持的时候使用。
<picture>
  <source media="(max-width: 799px)" srcset="img_smallflower.jpg" >
  <source media="(min-width: 800px)" srcset="img_flowers.jpg">
  <img src="img_flowers.jpg" alt="Flowers">
</picture>

把本来给手机用的图片作为 src ,其他放在 srcset 里面,因为电脑上浏览器没啥问题(不带 IE )

HTML 知识题


题目答案
HTML5不支持的视频格式flv
Canvas 用于填充颜色的属性fillStyle
HTML中注释的写法<!-- code–>
Canvas不依赖分辨率错误
HTML5 之前的 HTML 版本HTML 4.01
建立一个有序列表<ol></ol>
<a>链接的目标属性值_self、_blank、_top
可以在html页面中显示“<”&lt;
表格中行的开始和结束标记<tr></tr>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值