HTML5 播放video或者audio

简介:

 众所周知,在HTML5诞生之前网页上要播放一段视频基本都是依靠flash插件,而HTML5诞生了<video>和<audio>标签,使得在HTML5上播放视频或者音频就像显示图片那么轻松,就像显示图片用的 <img src="">一样,现在嵌入视频音频只要<video src="">或<audio src="">。

我这里举了一个例子,这里只使用了HTML5最常见的<video><audio>的API。

HTML显示了<video>这个控件的用法。


  
  
  1. <!DOCTYPE html> 
  2. <head> 
  3. <meta charset="UTF-8"> 
  4. <title>HTML5 Media DEMO</title> 
  5. <script type="text/javascript" src="js/media.js"></script> 
  6. </head> 
  7.  
  8. <body> 
  9. <h2>HTML5 media 演示</h2> 
  10.  
  11.  
  12. <!-- 指定一个video元素用于播放视频--> 
  13. <!-- autoplay 表明一旦页面加载则自动播放这段媒体 --> 
  14. <!-- loop表明自动循环播放这段媒体 --> 
  15. <!-- width 和 height是播放视频的屏幕大小 --> 
  16. <video id="video" width="400" height="300" autoplay loop> 
  17. </video> 
  18. <br/> 
  19.  
  20. 视频地址:<input type="text" id="videoUrl"/> 
  21. <input id="playButton" type="button" onclick="playOrPauseVideo()" value=" 播放"/> 
  22. <!-- 这一小块区域专门用于显示已经播放时间和总时间,单位(秒),由javascript来负责指定这个区间的内容 --> 
  23. <span id="time"></span> 
  24.  
  25. </body> 

然后javascript就负责响应点击事件,以及更新时间区域(已经播放时间/总时间)的信息,非常浅显易懂。


  
  
  1. /** 
  2.  *  This file is confidential by Charles.Wang 
  3.  *  Copyright belongs to Charles.wang 
  4.  *  You can make contact with Charles.Wang (charles_wang888@126.com) 
  5.  */ 
  6.   
  7.  function  playOrPauseVideo(){ 
  8.      //从文本框中取得用户输入的视频url 
  9.      var videoUrl= document.getElementById("videoUrl").value; 
  10.      console.log("videoUrl: "+videoUrl); 
  11.      //取得video控件 
  12.      var video = document.getElementById("video"); 
  13.      //为video控件绑定事件处理函数,这些事件都是HTML5的已经定义好的事件,最后一个参数boolean型表示事件是否要"冒泡"    
  14.      //这里对应“更新时间”的事件,然后在<span id="time">中显示时间相关信息 
  15.      video.addEventListener("timeupdate" , function (){ 
  16.         //取得要显示time的区域 
  17.         var timeDisplay=document.getElementById("time"); 
  18.         //用秒为单位来显示当前的播放进度,currentTime和 
  19.         timeDisplay.innerHTML=Math.floor(video.currentTime)+"/"+Math.floor(video.duration)+"(秒)"
  20.      }, 
  21.      false 
  22.      ); 
  23.       
  24.      //这里因为要考虑到暂停和继续两种状态,所以必须先判断媒体的当前状态 
  25.      //如果video当时是暂停状态(这是HTML5 audio(video)的内置属性) 
  26.      if (video.paused){ 
  27.          
  28.         //暂停分2种情况,一种是播放旧媒体的结束的停止,一种是已经开始播放一段时间后的暂停 
  29.         //对于旧的媒体结束的情况,那么判断条件就是用户输入的地址不同于当前地址(因为用户选择播放新媒体) 
  30.         if(videoUrl != video.src){ 
  31.             //那么吧当前video的src属性配置为用户所输入的地址 
  32.             video.src=videoUrl; 
  33.             //然后让媒体重新装载媒体进行播放,这个load()方法也是video自带的方法 
  34.             video.load(); 
  35.         } 
  36.         //如果是播放了一段时间的暂停,那么很简单,只要播放之就可以了,不需要任何改变,这时候video的parsed属性被自动设置为false 
  37.         else
  38.             video.play(); 
  39.         } 
  40.         document.getElementById("playButton").value="暂停"
  41.      } 
  42.      else
  43.         video.pause(); 
  44.         document.getElementById("playButton").value="播放"
  45.       
  46.  } 
  47.  } 

 

然后我们就可以输入要播放的视频了,这里我选择的是mp4,它会被Chrome所支持(注意,不是所有的媒体格式都被支持,比如我开始用的wmv格式就不被支持),为了让浏览器支持这段播放,必须在浏览器里面进行配置:

 

打开Google Chrome浏览器,输入chrome://flags,找到并且启用“对 <video> 元素启用 Media Source API。”,如下图所示:

 

然后在页面上,就可以尽情的输入URL并且欣赏视频了,注意,如果要看本地存储的视频,必须用file:/// 协议:





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/856384,如需转载请自行联系原作者

目录
相关文章
|
JavaScript 前端开发 网络安全
Video.js实现在html页面播放rtmp流媒体
Video.js实现在html页面播放rtmp流媒体
1092 0
|
编解码 移动开发 JavaScript
html页面播放视频编码是265的m3u8的流媒体地址
html页面播放视频编码是265的m3u8的流媒体地址
349 0
|
Web App开发 移动开发 JavaScript
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
【前端用法】HTML5 Video标签如何屏蔽右键视频另存为的js代码以及如何禁用浏览器控件,Video 禁止鼠标右键下载
345 0
|
1月前
|
Web App开发 移动开发 JavaScript
HTML 音频(Audio)详解
HTML5通过`&lt;audio&gt;`元素为网页音频播放提供了丰富支持。本文将介绍其基本用法、属性(如`controls`、`autoplay`)、事件监听、格式兼容性(MP3、OGG、WAV、AAC),并提供JavaScript控制示例。此外,还将讨论优化技巧,如使用CDN、懒加载及提升用户体验的方法。
|
2月前
|
移动开发 编解码 监控
HTML5 Video(视频)作为背景的优化方案
使用 HTML5 `&lt;video&gt;` 标签作为网页背景视频可以提升视觉效果,但需优化以确保性能和用户体验。主要方法包括:选择合适的视频格式(MP4、WebM、Ogg)和分辨率(720p 或更低),压缩文件大小,确保视频静音和循环播放,使用 CSS 设置全屏样式,根据设备和网络条件加载视频或静态图像,使用 `playsinline` 属性和延迟加载技术提高性能,确保无障碍性,并监控页面加载时间。合理应用背景视频可增强网站视觉效果而不影响用户体验。
|
2月前
|
移动开发 JavaScript 前端开发
HTML5 Audio(音频)详解
HTML5 通过 `&lt;audio&gt;` 标签简化了网页音频嵌入。本文详细介绍其基本语法与常用属性(如 `controls`、`autoplay`),并通过示例代码展示如何使用 JavaScript 控制音频播放及处理音频事件。此外,还提供了关于浏览器兼容性、自适应设计及无障碍访问的注意事项,助您优化音频体验。
|
2月前
|
移动开发 开发者 UED
HTML5中video标签controlslist属性的使用方法
`controlsList`属性为开发者提供了更多控制HTML5视频播放器行为的能力,让视频内容的集成更加灵活和符合需求。通过精心设计的控制列表,可以提升用户体验,同时保持内容的安全性和专业性。这种细节的控制和定制能力是现代Web开发的一个重要方面,反映了HTML5对开发者和内容创作者需求的响应。
230 1
|
2月前
|
移动开发 JavaScript 前端开发
html5 video
本文介绍了HTML5中的`<video>`标签的用法,包括如何设置视频的属性如自动播放、循环播放、加载模式,以及如何通过JavaScript控制视频播放和暂停,还提到了支持的视频格式和`<video>`标签中`<source>`元素的作用。
37 0
html5 video
|
6月前
|
移动开发 前端开发 JavaScript
如何实时准确地从HTML5视频中截取当前播放画面
如何实时准确地从HTML5视频中截取当前播放画面
558 4
|
移动开发 HTML5
HTML5播放 M3U8的hls流地址
HTML5播放 M3U8的hls流地址
250 0