HTML5_02之视频、音频、Canvas
1、HTML5新特性之视频播放——video:
①例:<video src=""></video>
②video标签默认为300*150的inline-block;
③成员属性:
autoplay:是否自动播放;
controls:是否显示播放控件;
currentTime:当前播放到的时间;
duration:总时长;
defaultMuted:默认是否静音;
loop:是否自动循环播放;
muted:当前是否静音;
paused:当前是否处于暂停状态;
poster:"",在视频播放前的显示图片;
volumn:当前播放音量;
preload:预加载内容;取值:auto——自动预加载视频内容,并缓冲一段;metadata——仅预加载影片元素据(宽高时长);none——不预加载任何数据;
④成员方法:
play();——视频开始播放,paused属性变为false;
paused();——视频暂停,paused属性变为true;
⑤成员事件:
onplay:fn——当调用v.paly()方法时触发;
onpause:fn——当调用v.pause()方法时触发;
2、HTML5新特性之音频播放——audio:
①例:<audio src=""></audio>
②audio标签默认为300*30的inline-block,若不显示播放控件,则display为none;
③成员属性:
autoplay:是否自动播放;
controls:是否显示播放控件;
currentTime:当前播放到的时间;
duration:总时长;
defaultMuted:默认是否静音;
loop:是否自动循环播放;
muted:当前是否静音;
paused:当前是否处于暂停状态;
poster:"",在视频播放前的显示图片;
volumn:当前播放音量;
preload:预加载内容;取值:auto——自动预加载音频元素据内容,并缓冲一段;metadata——仅预加载音频元素据;none——不预加载任何音频数据;
④成员方法:
play();——音频开始播放,paused属性变为false;
paused();——音频暂停,paused属性变为true;
⑤成员事件:
onplay:fn——当调用v.paly()方法时触发;
onpause:fn——当调用v.pause()方法时触发;
⑥IOS系统自带Safari浏览器不支持audio标签,可使用隐藏的video代替;
3、HTML5新特性之Canvas绘图:
①Canvas:画布,默认为300*150的inline-block,设定画布的宽高不能使用CSS Style,只能使用width和height属性;
②Canvas画布本身不能绘制内容,只用于承载被绘制的内容,画笔使用原生JS 创建:var ctx=canvas.getContext('2d');
③Context对象常用属性:
fillStyle:"#000000"——填充样式;
strokeStyle:"#000000"——描边/轮廓样式;
font:"10px sans-serif"——字体大小、类型
textAlign:"start"——文本对齐方式;
textBaseline:"alphabetic"——文本基线;
globalAlpha:——全局不透明度;
lineWidth:线/描边宽度;
shadowOffsetX:阴影在x轴的偏移量;
shadowOffsetY:阴影在y轴的偏移量;
shadowColor:"rgba(0,0,0,0)"——阴影颜色及透明度;
shadowBlur:阴影模糊半径;
④Context对象常用方法:
arc():绘制一个圆弧/圆形;
beginPath():开始绘制一条路径;
closePath():闭合一条路径;
fill():对路径进行填充;
stroke():对路径进行描边;
moveTo():移动到某一点;
lineTo():绘制到另一点的一条线段;
fillRect():填充一个矩形;
strokeRect():描边一个矩形;
clearRect():清空一个矩形范围内的所有内容;
fillText():填充一个字符串;
strokeText():描边一个字符串;
drawImage():绘制图像;
⑤创建一个线性渐变对象:
var g=ctx.createLinearGradient(x1,y1,x2,y2);
g.addColorStop(offset1,color1);
g.addColorStop(offset2,color2);
⑥绘制矩形(rectangle):定位点位于左上角
ctx.fillStyle="#000"/渐变对象;——填充样式;
ctx.strokeStyle="#000"/渐变对象;——描边样式;
ctx.lineWidth=;——描边宽度;
ctx.fillRect(x,y,w,h);——填充一个矩形;
ctx.strokeRect(x,y,w,h);——描边一个矩形;
ctx.clearRect(x,y,w,h);——清除一个矩形范围内的内容;
⑦绘制文本(text):文本定位点在整个字符串文本基线最左边
ctx.textBaseline="alphabetic";//文本基线,可取值为:top/middle/alphabetic/bottom;
ctx.font="10px sans-serif";
ctx.fillText(txt,x,y);
ctx.strokeText(txt,x,y);
ctx.measureText(txt).width;//测量文本宽度;
HTML5_02之视频、音频、Canvas的更多相关文章
- H5新特性-视频,音频-Flash-canvas绘图
json格式 json - > AJAX json:数据格式,通常是以字符串形式表示 对象 {"name":"james","age" ...
- [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作
[原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作 转载请注明出处 一.关于为什么用pymediainfo以及pymediainfo的安装 使用python对视频/音频文件进行详 ...
- HTML的媒体元素(视频+音频)
网页的媒体元素 包括 视频 音频 首先创建一个文件夹,放视频和音频 播放(非自动播放+自动播放) 视频播放 1.1. 打开网页不自动播放 <video src="../ ...
- php-ffmpeg 操作视频/音频文件
php-ffmpeg 是一个php操作视频/音频文件的类库. GitHub地址:https://github.com/PHP-FFMpeg/PHP-FFMpeg/ 使用composer快速安装:com ...
- 视频处理控件TVideoGrabber如何重新编码视频/音频(2)
在前面的文中<视频处理控件TVideoGrabber如何重新编码视频>已经讲解了部分TVideoGrabber重新编码音频.视频剪辑的内容,下面将继续说明. 重新编码进程 重新编码开始时, ...
- HTML 5 视频/音频
HTML5 Audio/Video 方法 方法 描述 addTextTrack() 向音频/视频添加新的文本轨道 canPlayType() 检测浏览器是否能播放指定的音频/视频类型 load() 重 ...
- 测试开发之前端——No9.HTML5中的视频/音频
HTML5 视频和音频的 DOM 参考手册 HTML5 DOM 为 <audio> 和 <video> 元素提供了方法.属性和事件. 这些方法.属性和事件允许您使用 JavaS ...
- Html5中 视频 音频标签 进度条问题
最近项目中使用Html5的video和audio标签来在线播放视频和音频文件,但是遇到个奇葩的问题,页面上播放之后进度条无效, 查看w3c之后发现html代码并没有什么不同,之后猜想如果用静态的htm ...
- C#调用FFMPEG实现桌面录制(视频+音频+生成本地文件)
不得不说FFMPEG真是个神奇的玩意,所接触的部分不过万一.网上有个很火的例子是c++方面的,当然这个功能还是用c++来实现比较妥当. 然而我不会c++ 因为我的功能需求比较简单,只要实现基本的录制就 ...
随机推荐
- iOS之防止用户重复点击Button(按钮)问题
在项目中,我们往往会遇到这样的问题:因为网络较慢的原因,用户会不耐烦的一直去点击按钮,这样导致的结果时:相关代码一遍一遍的被重复执行,如果按钮的事件是网络请求的话,这样又导致一种网络请求的循环.所以我 ...
- Java基础加强之集合篇(模块记忆、精要分析)
千里之行,始于足下.把别人的变成自己,再把自己的分享给别人,这也是一次提升的过程.本文的目的是以一篇文章从整体把握集合体系又不失一些细节上的实现,高手路过. 集合的作用与特点 Java是一门面向对象语 ...
- iOS 键盘遮挡输入 解决办法
.初始化及添加通知观察者 - (void)viewDidLoad { [super viewDidLoad]; self.tableView = [[UITableView alloc] initWi ...
- EasyUi
<base href="<%=basePath %>"> -- (不推荐使用)--导入文件路径 ${pageContent.request.contextP ...
- oracle 和c3p0 数据库的Time_Wait 过多问题的一个解决方案。
项目是B/S模式,放在linux服务器上,tomcat和oracle11g在一台服务器上,tomcat读取数据库采用C3P0连接池,一直比较稳定,所以也没有去管.后来把tomcat放在一台win200 ...
- Array方法
1.concat()方法 用法:用于连接两个或者多个数组. 对原数组有无影响:不会改变原有数组,会返回一个连接之后的数组. 2.join()方法 用法:以指定的分隔符把数组中每一项拆分成字符串. 对原 ...
- Linux下uniq命令的详解
-c 在输出行前面加上每行在输入文件中出现的次数. -d 仅显示重复行. -u 仅显示不重复的行. 示例 1.去重,有多行一样的只显示一行cat 4.txt |sort - ...
- sequelize常见操作使用方法
关于sequelize的准备工作这里不再赘述. 一.引入sequelize模块 var Sequelize = require('sequelize'); 二.连接数据库 var sequelize ...
- 临时更换hadoop-ugi
在用spark读写hdfs数据时,有时候当前用户对要读写的hdfs路径没有权限,需要临时改变用户去读写hdfs,操作完后回到原来的用户.我们的hdfs是没有权限认证的,一开始通过下面代码的方式来实现. ...
- txt文本变成html
file_name = 'x.txt' f = open(file_name,'r') file_result = 'x.html' str_head = " LINE CI UTIL&qu ...