videojs 自定义控件样式

小白级别继续,大咖绕路

这里只是在pc端搞里一下,不知道其他平台有什么问题,只是给大家个思路。

videojs的优缺点什么的,这里就不说了,百度一下,各位大咖,一大啪啦的讲解,研究了两天始终不知道怎么去自定义控件,videojs 有一个专门设计皮肤的网站(传送法阵:https://codepen.io/heff/pen/EarCt),但是搞了半天还是不懂怎么弄,最后在一篇文章中受到启发,其实很简单,暴力走起。

先搞一张图

161946_C5T5_3108430.png

好吧, 我承认,样式很low,这里就不吐槽设计了

ok,上代码

      myPlayer = videojs('my-video', {
        'controls': false,   //关闭原来的,不然hover的时候总出来
        'BigPlayButton': false,
        'loop': true
      },function(){
        var ctrlBar = createEle(); // 创建一个div节点
        this.el().appendChild(ctrlBar);  // 添加进去,css设置好样式就可以了
        // 初始化音量宽度
        var vol = this.volume();
        $('.vol-box .vol-on').width(vol * 100); 

        // 进度条自动前进
        this.on('timeupdate', function(){

          var curTime = this.currentTime();
          var durTime = this.duration();
          var w = (curTime/durTime * this.width()).toFixed(2);
          $('.progress>p').width(w);
          $('.progress>span').css('left', w + 'px');
        });
        // 播放
        this.play();
      });

     function createEle (){
      var _html = `
        <div class="progress">
          <P></p>
          <span></span>
        </div>
        <div class="ctrls clearfix">
          <div class="play-box fl">
            <img class="play-img" src="assets/images/vjs-play.png"/>
          </div>
          <div class="vol-box fr">
            <img src="assets/images/vjs-volumn.png"/>            
            <span class="vol-line"></span>
            <span class="vol-on"></span>
            <span class="vol-top-line"></span>
          </div>
        </div>
      `;
      var ctrlBar = document.createElement('div');
      ctrlBar.className = 'vjs-mycontrol-bar';
      ctrlBar.innerHTML = _html;
      return ctrlBar;
    }

好吧,貌似没什么难点,就是给大家一个思路,当然,官方推荐使用Component,这里就不去搞了,

想研究的同学,参考一下这个文章 https://www.cnblogs.com/a2502971/p/6691470.html 最后定制组件那节就可以了

转载于:https://my.oschina.net/u/3108430/blog/1621639

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要自定义 Video.js 的播放控件,您可以使用 Video.js 的插件系统来添加自定义功能和样式。下面是一个示例代码,演示如何自定义 Video.js 的播放控件: 首先,确保您已经引入了 Video.js 的库文件和样式表: ```html <link href="https://vjs.zencdn.net/7.15.4/video-js.css" rel="stylesheet"> <script src="https://vjs.zencdn.net/7.15.4/video.js"></script> ``` 然后,您可以使用以下 JavaScript 代码来添加自定义的播放控件: ```html <video id="my-video" class="video-js" controls> <source src="path/to/video.mp4" type="video/mp4"> <!-- 其他视频源 --> </video> <script> // 初始化 Video.js var player = videojs('my-video'); // 添加自定义控件 player.ready(function() { // 创建一个新的按钮 var myButton = player.controlBar.addChild('button', {}, {}); myButton.addClass('my-button-class'); // 添加自定义的 CSS 类 // 当按钮被点击时执行的操作 myButton.on('click', function() { // 在这里编写您想要执行的操作 // 例如:显示一个弹窗、切换视频源等 console.log('按钮被点击'); }); }); </script> ``` 在上述代码中,我们首先创建了一个 `<video>` 元素,并给它设置了一个唯一的 `id`,以及 `class="video-js"` 和 `controls` 属性,这样 Video.js 就会将其作为视频播放器来处理。 然后,我们使用 `videojs('my-video')` 初始化 Video.js 播放器,并在 `player.ready` 回调函数中添加自定义的按钮。您可以通过 `addChild()` 方法添加一个新的按钮,并使用 `addClass()` 方法为按钮添加自定义的 CSS 类。 最后,在按钮的 `click` 事件监听器中,您可以编写您想要执行的自定义操作。 请注意,您可以根据需要在自定义按钮中添加更多的功能和样式,详情可参考 Video.js 的文档(https://docs.videojs.com/)。 希望以上解决方案对您有帮助。如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值