博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Video.js自定义使用
阅读量:6258 次
发布时间:2019-06-22

本文共 3517 字,大约阅读时间需要 11 分钟。

hot3.png

note: 

一个需要注意的点是下载下来的demo.html直接右键浏览器是打不开的,需要用iis或者nginx 或者beego这些服务端的玩意加载后,在前端浏览器才能看到视频页面。

参考文章:

  • brightcover 播放器是基于video.js内核封装的,所以它的文档也能参考

直接使用

注意点:加载flash动画后,chrome ie firefox播放界面才能统一,否则各有各的界面

无标题文档

自定义控制条

组件结构

PlayerPosterImageTextTrackDisplayLoadingSpinnerBigPlayButtonControlBarPlayToggleFullscreenToggleCurrentTimeDisplayTimeDividerDurationDisplayRemainingTimeDisplayProgressControlSeekBarLoadProgressBarPlayProgressBarSeekHandleVolumeControlVolumeBarVolumeLevelVolumeHandleMuteToggle

使用:以添加按钮为例子

var player = videojs("example_video", {"controls": true,"autoplay": false,"preload": "auto","loop": false,controlBar: {captionsButton: false,chaptersButton: false,playbackRateMenuButton: true,LiveDisplay: true,subtitlesButton: false,remainingTimeDisplay: true,progressControl: true,volumeMenuButton: {inline: false,vertical: true},//竖着的音量条fullscreenToggle: true}}, function () {/*次处用于自定义控制条等*//*做法1:直接append添加*/$(".vjs-control-bar").append('');/*做法2:dom添加*/var controlBar,newElement = document.createElement('div'),newLink = document.createElement('a'),newImage = document.createElement('img');// Assign id and classes to div for iconnewElement.id = 'downloadButton';newElement.className = 'downloadStyle vjs-control';// Assign properties to elements and assign to parentsnewImage.setAttribute('src','http://solutions.brightcove.com/bcls/brightcove-player/download-video/file-download.png');newLink.setAttribute('href','http://www.baidu.com');newLink.appendChild(newImage);newElement.appendChild(newLink);// Get control bar and insert before elements// Remember that getElementsByClassName() returns an arraycontrolBar = document.getElementsByClassName('vjs-control-bar')[0];// Change the class name here to move the icon in the controlBarinsertBeforeNode = document.getElementsByClassName('vjs-fullscreen-control')[0];// Insert the icon div in proper locationcontrolBar.insertBefore(newElement,insertBeforeNode);//controlBar.appendChild(newElement);/*做法3:简化2的写法*/var newbtn = document.createElement('btn');newbtn.innerHTML = '';var controlBar = document.getElementsByClassName('vjs-control-bar')[0];insertBeforeNode = document.getElementsByClassName('vjs-fullscreen-control')[0];controlBar.insertBefore(newbtn,insertBeforeNode);});

自定义控制条完整例子: 

自定义样式:

video.js 采用flex布局,所以float这种不起作用

如果想要使用float,需要修改默认的video.js.css

并且后面的按钮都要进行样式调整

.vjs-has-started .vjs-control-bar {display: -webkit-box;display: -webkit-flex;display: -ms-flexbox;/*原为flex*/display: block;visibility: visible;opacity: 1;-webkit-transition: visibility 0.1s, opacity 0.1s;-moz-transition: visibility 0.1s, opacity 0.1s;-o-transition: visibility 0.1s, opacity 0.1s;transition: visibility 0.1s, opacity 0.1s;}……省略无关部分.video-js .vjs-play-control {/*增加float*/float:left;cursor: pointer;-webkit-box-flex: none;-moz-box-flex: none;-webkit-flex: none;-ms-flex: none;flex: none;}.video-js .vjs-fullscreen-control {cursor: pointer;-webkit-box-flex: none;-moz-box-flex: none;-webkit-flex: none;-ms-flex: none;flex: none;/*增加float*/float: right;}
  •  

弹幕

使用开源jquery.danmu.js

video.js集成例子

RtmpPlayerTest
    
    显示弹幕:
    弹幕透明度:
当前弹幕运行时间(分秒):
  设置当前弹幕时间(分秒):
发弹幕:

转载于:https://my.oschina.net/sichunchen/blog/1551502

你可能感兴趣的文章
Git学习分享
查看>>
阿里云移动端播放器高级功能---画面控制
查看>>
Ethereum地址是如何生成的
查看>>
峰采 #2
查看>>
高阶组件之属性代理
查看>>
Python 比特币 教程 之一:创建机器人
查看>>
extract-text-webpack-plugin用法
查看>>
java中的多线程你只要看这一篇就够了
查看>>
利用tornado实现表格文件预览
查看>>
深入call apply bind
查看>>
「前端面试题系列6」理解函数的柯里化
查看>>
用友云开发者中心助你上云系列之在线调试
查看>>
【跃迁之路】【724天】程序员高效学习方法论探索系列(实验阶段481-2019.2.14)...
查看>>
个人博客四|注册登录退出功能后台开发
查看>>
工作中常用到的ES6语法
查看>>
Django-Signals信号量
查看>>
flac格式转换mp3格式要用什么软件
查看>>
19. Remove Nth Node From End of List
查看>>
最佳在线图表软件
查看>>
Work with Alexa : 智能设备连接到Alexa
查看>>