js HTML5多媒体影音播放_javascript技巧

之前曾经介绍过,在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)//裁切后绘制图像

<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> 

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js
, html5
, 多媒体
影音
多媒体课件制作技巧、多媒体课件的制作技巧、汽车多媒体影音改家用、多媒体教学呈现技巧、多媒体影音导航系统,以便于您获取更多的相关知识。

时间: 2024-09-22 23:44:00

js HTML5多媒体影音播放_javascript技巧的相关文章

js调试系列 初识控制台_javascript技巧

写在最开头:其实我以前就在考虑要不要写这个东西,因为这个东西确实不难,但是为什么会有这么多人问,他们问的不是怎么用控制台,而是不知道控制台能干嘛,他们也知道有 console.log 之类的东西,但他们不知道为什么要用这么长的字符串代替 alert 输出信息.在他们眼里 alert 足以.好吧,我承认小小的吐槽了下,不过这个系列我只打算介绍下调试的基本知识,不会涉及太深,因为深入的东西结合js知识,如果你js没到一个境界,我就算教你调试bug,破解一些插件之类的,你也根本不知道我在做什么.我的目

js浏览器html5表单验证_javascript技巧

html5表单添加了很多类型的表单,而且还自带验证的功能.在移动端,手机等设备能够根据不同的input类型弹出不同的键盘,例如iphone弹的键盘 但是由于不同的浏览器对不合法输入提示文案不一致,样式也不一样,并且老的浏览器不兼容(IE9及以下),导致了在生产环境中比较少见到.例如对于邮箱格式的检验,不同浏览器的效果如下: Chrome Firefox IE safari html5的表单跨浏览器有很大的问题 具体来说存在三个问题: (1) 输入框blur的时候不会触发检查,只有在点提交时才触发

js实现微信分享代码_javascript技巧

通常自己做的一个页面想通过微信像朋友分享时,展示的标题和描述都是不是自己想要的,自己查了一些资料,原来是通过js来进行控制 展示效果如下: 标题.描述.还有分享的图片都是有js来控制的. js代码如下 <script> var dataForWeixin = { appId: "", MsgImg: "Christmas/201012189457639.gif",//显示图片 TLImg: "Christmas/201012189457639.

Vue.js教程之计算属性_javascript技巧

Vue.js 的内联表达式非常方便,但它最合适的使用场景是简单的布尔操作或字符串拼接.如果涉及更复杂的逻辑,你应该使用计算属性. 计算属性是用来声明式的描述一个值依赖了其它的值.当你在模板里把数据绑定到一个计算属性上时,Vue 会在其依赖的任何值导致该计算属性改变时更新 DOM.这个功能非常强大,它可以让你的代码更加声明式.数据驱动并且易于维护. 通常情况下,使用计算属性会比使用过程式的$watch回调更合适.比如下面的例子: <div id="demo">{{fullNa

原生JS实现网络彩票投注效果_javascript技巧

个人游戏之作,小伙伴们研究下就好 主要功能: 1.可自由选择投注模式.倍数,可点击'×'删除提交注单. 2.可使用jsonp引用官方彩票开奖数据(实时开奖). 3.结合后台可实现官彩同样的效果. 实现原理: 单纯使用Js实现,这里主要用数组存放数据,随机生成开奖号码,然后进行判断是否中奖. 下面是完整JS代码: index.html <!doctype html> <html lang="en"> <head> <meta charset=&q

简单的JS轮播图代码_javascript技巧

在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用面向过程函数式编程去实现,相对于面向对象设计模式,代码难免会显得臃肿冗余.但没有面向对象的抽象却很适合新手理解与学习.已经在BAT的同学看到希望少喷点.另外可以多提意见. 轮播图的原理: 一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏.通过计算偏移量利用定时器实现自动播放,或通过

js实现照片墙功能实例_javascript技巧

本文实例讲述了js实现照片墙功能的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:html5="http://www.w3.org/1999/xhtml">     <head>         <meta charset="utf-8">     

JS表的模拟方法_javascript技巧

本文实例讲述了JS表的模拟方法.分享给大家供大家参考.具体方法如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>列表</title> <script> function List(){ this.listSize= 0; this.pos=0; this.dataStore=[];//初始化一个空数组来保存列表元素 this.

Bootstrap学习笔记之js组件(4)_javascript技巧

这次我们来看下js组件的使用,本篇文章会有点长,希望大家可以耐心看,相信收获会有不少.不少园友加我好友,表示喜欢我写文字的风格,简单明了,这里,再次谢谢你们的支持.一方面,自身技术有限,写的东西都比较基础,另一方面,写的东西,都是根据自己的理解,把复杂的东西用最简单的语言表达出来.所以,写的有不对的地方,麻烦各位给予指正哈.  一.js文件引用注意点:jquery必须在在其它js文件之前引入,因为其它插件都是依赖于jquery. <!--<script src="js/jquery-