js HTML5多媒体影音播放


Posted in Javascript onOctober 17, 2016

之前曾经介绍过,在HTML5中可以通过<video>标签在网页中播放影片,且不需要再安装额外的插件,此功能已经带给用户极大的便利。但基本的<video>标签只提供了简单功能的播放器界面,如果想要改变播放器的外观和功能,只能结合<canvas>标签和javascript语句,就能制作出酷炫的播放控制器。

{drawImage}

画布canvas如何与视频video标签结合,达到制作各种视频功能的效果呢?其秘诀在于通过画布重新描绘一次视频的内容,将视频的每个画面都转换成画布的图像,这样就可以通过javascript语言所提供的图像控制方法来操控它们。所以炫酷播放器所使用的视频功能,并不针对video,而是针对描绘出影像的canvas。

能够描绘影像到画布中的方法是“drawImage",此方法允许在canvas中插入画布(canvas),图像(img)和视频(video)等元素。

drawImage方法有三种:

drawImage(image,dx,dy)//原比例绘制图像
drawImage(image,dx,dy,dw,dh)//按设置长宽绘制图像
drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh)//裁切后绘制图像

js HTML5多媒体影音播放

js HTML5多媒体影音播放

<html> 
 <head> 
   <meta charset="utf-8"/> 
   <style> 
    canvas{ 
      border:1px solid black; 
    } 
   </style> 
   
   <script > 
    function draw(){ 
      var imgx = new Image(); 
      imgx.src = 'img/gophers-Slice_Scoreboard.png'; 
      imgx.onload = function(){ 
        var canvas = document.getElementById('myCanvas'); 
        var context = canvas.getContext('2d'); 
        context.drawImage(this,20,20,75,75); 
      } 
    } 
  </script> 
 </head> 
 <body onload="draw()"> 
  <p>Image:</p> 
  <img id="pic"src="img/gophers-Slice_Scoreboard.png" alt="pic" width="50" height="50"> 
  <p>Canvas:</p> 
  <canvas id="myCanvas" style="border:1px solid;"> 
  </canvas> 
 </body> 
</html>

简单地通过drawImage描绘图像也许看不出来canvas的强大,其实真正精彩的是可以通过画布上描绘的结果加入javascript语句来实现的特效效果或功能。

接下来示范如何用javascript指令动态调整视频播放器的大小。

<html> 
 <head> 
   <meta charset="utf-8"/> 
   <style> 
   </style> 
   
   <script > 
    function eventWindowLoaded(){ 
    var videoElement=document.getElementById("theVideo"); 
    var widthtoHeightRatio=videoElement.width/videoElement.height; 
    var sizeElement=document.getElementById("videoSize"); 
    sizeElement.addEventListener('change',videoSizeChanged,false); 
    function videoChanged(e){ 
      var target=e.target; 
      var videoElement=document.getElementById("theVideo"); 
      videoElement.width=target.value; 
      videoElement.height=target.value/widthtoHeightRatio; 
    } 
    } 
  </script> 
 </head> 
 <body onload="eventWindowLoaded()"> 
 <div> 
  <form>Video Size: 
  <input type="range" id="videoSize" min="80" max="1280" step="1" value="320"/> 
  </form> 
  </div> 
  <div> 
  <video autoplay loop controls id="theVideo" src="funny.mp4" width="320" height="240"></video> 
  </div> 
 </body> 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Tinymce+jQuery.Validation使用产生的BUG
Mar 29 Javascript
jQuery插件slider实现拖动滑块选取价格范围
Apr 30 Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 Javascript
由ReactJS的Hello world说开来
Jul 02 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
Sep 19 Javascript
Bootstrap项目实战之首页内容介绍(全)
Apr 25 Javascript
如何判断Javascript对象是否存在的简单实例
May 18 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
Jan 20 Javascript
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
详解小程序输入框闪烁及重影BUG解决方案
Aug 31 Javascript
用vuex写了一个购物车H5页面的示例代码
Dec 04 Javascript
JavaScript工具库MyTools详解
Jan 01 Javascript
基于JavaScript实现前端文件的断点续传
Oct 17 #Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 #Javascript
Node.js包管理器Yarn的入门介绍与安装
Oct 17 #Javascript
深入理解JS实现快速排序和去重
Oct 17 #Javascript
JavaScript中关键字 in 的使用方法详解
Oct 17 #Javascript
Angular 2应用的8个主要构造块有哪些
Oct 17 #Javascript
jQuery表单验证简单示例
Oct 17 #Javascript
You might like
一个简单的PHP入门源程序
2006/10/09 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
php调用shell的方法
2014/11/05 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
python清除字符串中间空格的实例讲解
2018/05/11 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
利用python生成照片墙的示例代码
2020/04/09 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
Python类及获取对象属性方法解析
2020/06/15 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
什么是唯一索引
2015/07/05 面试题
面向对象概念面试题(.NET)
2016/11/04 面试题
法律专业应届生自荐信范文
2014/01/06 职场文书
求职简历的自我评价
2014/01/31 职场文书
小小的船教学反思
2014/02/21 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
订货会邀请函
2015/01/31 职场文书
2015年底工作总结范文
2015/05/15 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电