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 相关文章推荐
另一个javascript小测验(代码集合)
Jul 27 Javascript
jquery 实现表单验证功能代码(简洁)
Jul 03 Javascript
js获取height和width的方法说明
Jan 06 Javascript
Javascript实现鼠标右键特色菜单
Aug 04 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
Jul 18 Javascript
基于Node.js模板引擎教程-jade速学与实战1
Sep 17 Javascript
webpack配置之后端渲染详解
Oct 26 Javascript
vue项目前端知识点整理【收藏】
May 13 Javascript
在Vue中使用icon 字体图标的方法
Jun 14 Javascript
javascript删除数组元素的七个方法示例
Sep 09 Javascript
详解Node.JS模块 process
Aug 31 Javascript
原生JS实现拖拽功能
Dec 16 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录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
php下通过POST还是GET来传值
2008/06/05 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
可输入的下拉框
2006/06/19 Javascript
jquery的颜色选择插件实例代码
2008/10/02 Javascript
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
python多线程方式执行多个bat代码
2016/06/07 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
单位工程竣工验收方案
2014/03/16 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
python中对列表的删除和添加方法详解
2022/02/24 Python