videojs

boyanx7个月前技术教程25
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入 video.js 的 CSS 文件 -->
    <link href="https://vjs.zencdn.net/7.17.0/video-js.css" rel="stylesheet" />
    <title>Video.js Example</title>
</head>

<body>
    <!-- 创建视频容器 -->
    <video id="my-video" class="video-js" controls preload="auto" width="640" height="264"
        data-setup="{}">
        <!-- 视频源 -->
        <source src="https://vjs.zencdn.net/v/oceans.mp4" type="video/mp4" />
        <p class="vjs-no-js">
            To view this video please enable JavaScript, and consider upgrading to a
            web browser that
            <a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
        </p>
    </video>

    <!-- 引入 video.js 的 JavaScript 文件 -->
    <script src="https://vjs.zencdn.net/7.17.0/video.min.js"></script>
    <script>
        // 初始化播放器
        var player = videojs('my-video');
      // 如果不想一个一个初始化,可以这样:
      (function(){
          var videos = document.getElementsByTagName('video');
          for(i=0; i<videos.length; i++) {
              var video = videos[i];
              if(video.className.indexOf('video-js') > -1) {
                  videojs(video.id).ready(function(){
                  });
              }
          }
      })();
      //多个初始化 end
    </script>
</body>

</html>    

播放按钮居中

video.js默认的播放按钮在左上角,应该是 video.js 开发人员认为放中间会遮挡内容,所以没放中间。 不过我们常见的一般都在中间,比较符合习惯。 这是可以通过参数修改的,在<video>标签中加入vjs-big-play-centered类,就可以了。 像这样:

class=video-js vjs-big-play-centered

禁止在iPhone safari中自动全屏

方法如下,在<video>标签中加入playsinline参数,

<video playsinline ></video>

注意,在iOS10之前用的是webkit-playsinline

暂停时显示播放按钮

video.js 在未播放时,会显示一个大的播放按钮,上面我们提到如何让他居中。 那么,如何在视频暂停时也显示这个播放按钮呢?

有很多用JS的解决办法,感觉都挺麻烦的。 其实用CSS就可以搞定了:

.vjs-paused .vjs-big-play-button,
.vjs-paused.vjs-has-started .vjs-big-play-button {
    display: block;
}

是不是很轻便很简单 :)

6 播放按钮变○圆形

video.js 默认的播放按钮是圆角矩形, 我们一般更熟悉播放按钮为圆形的:

那么怎么改呢?还是用CSS来解决。

.video-js .vjs-big-play-button{
    font-size: 2.5em;
    line-height: 2.3em;
    height: 2.5em;
    width: 2.5em;
    -webkit-border-radius: 2.5em;
    -moz-border-radius: 2.5em;
    border-radius: 2.5em;
    background-color: #73859f;
    background-color: rgba(115,133,159,.5);
    border-width: 0.15em;
    margin-top: -1.25em;
    margin-left: -1.75em;
}
/* 中间的播放箭头 */
.vjs-big-play-button .vjs-icon-placeholder {
    font-size: 1.63em;
}
/* 加载圆圈 */
.vjs-loading-spinner {
    font-size: 2.5em;
    width: 2em;
    height: 2em;
    border-radius: 1em;
    margin-top: -1em;
    margin-left: -1.5em;
}

因为原来居中的时候宽度和高度改变了,所以margin的值也要相应改变

进度显示当前播放时间

video.js 默认倒序显示时间,也就是视频播放的剩余时间。 要显示当前的播放时间,以及总共视频时长,加2行CSS解决:

.video-js .vjs-time-control{display:block;}
.video-js .vjs-remaining-time{display: none;}

https://videojs.com/blog/video-js-4-9-now-can-join-the-party/

标签: video.js

相关文章

视频号的数据平台有哪些?

随着视频内容的不断增多,视频号已经成为了各大自媒体平台中最重要的平台之一。为了获取更多的流量和粉丝,许多自媒体作者都在不断地提升自己的内容质量和创意。然而,对于自媒体作者来说,如何获取视频号的数据是非...

很香的几款开源免费的流程设计器

1、LogicFlow(1) 介绍:LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow支持前端研发自定义开发各种逻...

通过 YAPI + Python Flask 实现接口自动化测试

背景公司目前主打两款陌生人社交产品,暖聊和 CP,两款产品都有 Android 和 iOS 端。暖聊涵盖了音视频匹配,交友大厅,聊天室,视频直播,广场,家族,IM 消息和任务中心八大模块,共计 841...

Java 监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器

Java 监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器目录一:了解音视频流协议:二:方案一 rtsp 转rtmp1、下载nginx + nginx-rtmp-module3、...

2021 年 Node.js 开发人员学习路线图

Node.js 自发布以来,已成为业界重要破局者之一。Uber、Medium、PayPal 和沃尔玛等大型企业,纷纷将技术栈转向 Node.js。Node.js 支持开发功能强大的应用,例如实时追踪...

移动端自动化 AutoJS 快速入门指南(上)

来源:AirPython作者:星安果1. 前言大家好,我是安果!之前写过很多 App 端自动化的文章,大都基于 Appium、Airtest、无障碍服务等技术来实现的其中,Appium 和 Airte...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。