使用 video.js 开发 HTML5 视频页面

使用 video.js 开发 HTML5 视频页面

时间 2015-05-13 17:11:58
The GIS Guy
主题
Video.js
HTML5

使用 video.js 简单几步编写一个可以在微信、QQ内置浏览器中正常工作的 HTML5 视频播放器。

HTML5 标签看似简单,但在不同设备上使用时却问题不断,原因是很多设备强制使用自身的视频播放器来播放 HTML5 视频。使用第三方组件 video.js 可以在一定程度上克服这个问题。

初始化 video.js

编写 HTML 页面:

<<span class="hljs-name">head>  
        <<span class="hljs-name">meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <<span class="hljs-name">title></<span class="hljs-name">title>
        <<span class="hljs-name">link href="include/video-js/video-js.css" rel="stylesheet">
        <<span class="hljs-name">script src="video.js"></<span class="hljs-name">script>
        <<span class="hljs-name">script>
                videojs.options.flash.swf = "include/video-js/video-js.swf"
        </<span class="hljs-name">script>
</<span class="hljs-name">head>  
<<span class="hljs-name">body>  
<<span class="hljs-name">video id="video" class="video-js vjs-default-skin vjs-big-play-centered"  
        controls preload="auto" width="100%" height="100%"
        poster="img/pure-black.jpg" data-setup=''>
        <<span class="hljs-name">source src="video/video.mp4" type='video/mp4' />
        <<span class="hljs-name">source src="video/video.webm" type='video/webm' />
        <<span class="hljs-name">source src="video/video.ogv" type='video/ogg' />
 <<span class="hljs-name">p class="vjs-no-js">播放视频需要启用 JavaScript,推荐使用支持HTML5的浏览器访问。</<span class="hljs-name">p>
</<span class="hljs-name">video>  
</<span class="hljs-name">body>  

与官方教程相比,这里为 video 元素额外添加了 vjs-big-play-centered 类,让播放按钮显示在视频的正中间(默认在左上角)。 controls 表示自动添加播放控件。加上 preload="auto" 可以让页面加载完成后立即开始加载视频,如果设置为 preload="meta" 则只加载视频元数据。

中声明 ,可以让页面在高分辨率的手机上显示正确的尺寸,防止因为屏幕像素高而使得页面元素变得很小。

虽然页面中已经指定 高度为100%,但此时视频控件高度仍然为0,可以用下面的 CSS 样式让视频控件全屏。

html, body {  
    width: 100%;
    height: 100%;
}

为适配不同内核的浏览器,需要同时提供 .mp4、.ogv、.webm 三种格式的视频,但 OS X 下没有找到好用的免费转换器可以同时转换成 .mp4、.ogv 和 .webm 三种格式。miro 虽然号称免费开源,但是不捐钱无法得到下载链接……如果视频不大,推荐使用 converter.com 的在线转换器。

可以看看上面代码在浏览器中的效果:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114239.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WSAStartup函数

    WSAStartup(MAKEWORD(2,2),&wsd)

    2022年4月6日
    48
  • 二 详解VBA编程是什么

    二 详解VBA编程是什么详解VBA编程是什么直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORDBASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言——–VisualBasicForApplication(VBA),可以认为VBA是非常流行的应用程序开发语言VASUALBASIC的子集.实际上VBA是”寄生于”VB应用程序的版本.V

    2022年5月30日
    34
  • python抛出异常和捕获异常_python自定义异常

    python抛出异常和捕获异常_python自定义异常主动抛异常1.抛异常有时,程序需要主动抛出异常,因为某些情况下,你需要反馈消息给更上层的调用者,告诉它有一些异常情况发生,而你抛出异常的地方,没有能力处理它,因此需要向上抛出异常。这种情况为什么不让系统自己抛出异常呢?一个原因是上层的调用者本身就希望能够捕获有别于系统异常的自定义异常,二来,有些情况下,程序的逻辑是没有异常的,但是,从业务角度考虑,的确是一个不寻常的情况,因此需要我们主动抛出异常…

    2022年10月10日
    2
  • 作为Java开发,你一定要了解面向对象编程中为什么要使用get和set方法

    一、由一个问题开始在进行面向对象开发中,在编写一个Class的时候,会定义这个Class的属性(字段)为Private,然后去生成对应的get和set方法,通过这样的方式去对属性进行操作,那你有没有思考过为什么要这样做呢?这样做有哪些好处呢?请先自行思考30秒,在看下面的内容。二、回顾相关知识回答这个问题之前,让我们先回顾一些的基础知识:1、访问修饰符,从访问的范围由小及大依次是:pri…

    2022年2月27日
    46
  • 回文字符串算法

    回文字符串算法Python实现各种常用算法-字符串-实验楼所谓回文字串,即正着读和倒着读结果都一样的字符串,比如:a,aba,abccba都是回文串,ab,abb,abca都不是回文串。暴力求解的思路:找到字符串的所有子串,遍历每一个子串以验证它们是否为回文串。一个子串由子串的起点和终点确定,因此对于一个长度为n的字符串,共有n^2个子串。这些子串的平均长度大约是n…

    2022年5月27日
    43
  • 彩票APP将演绎“快鱼吃慢鱼”的发展轨迹

    彩票APP将演绎“快鱼吃慢鱼”的发展轨迹

    2021年11月16日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号