分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

videojs使用技巧

发布时间:2023-09-06 01:49责任编辑:郭大石关键词:js

摘自https://www.awaimai.com/2053.html

1 初始化

Videojs初始化有两种方式。

1.1 标签方式

一种是在<video>标签里面加上class="video-js"data-setup=‘{}‘属性。

注意,两者缺一不可。

我刚开始的时候觉得后面的值为空对象{},不放也行,导致播放器加载不出来,后来加上来就可以了。

1.2 JS方式

另外一种方法是通过JS初始化,格式:

var player = videojs(‘my-player‘);

这样有个要求,就是不能配置data-setup,并且需要传入<video>的id。

当然,如果不想一个个初始化,可以这样来:

(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(){ ???????????}); ???????} ???}})();

2 播放按钮居中

videojs默认的播放按钮在左上角,是作者认为会遮挡内容考虑的。

不过这是可以通过参数修改的,在<video>标签中加入vjs-big-play-centered类,就可以了。

像这样:

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

3 支持<audio>音乐标签

videojs 4.9开始支持<audio>标签,支持的方式就是,播放的时候封面不会消失。

但是上面的播放框还是一直在的,配置方式和<video>标签一样,也必须要配置data-setup参数。

4 禁止在iPhone safari中自动全屏

很多人给出的方法是,在<video>标签中加入playsinline参数,如下

<video playsinline ></video>

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

5 暂停时显示播放按钮

videojs在未播放时,会显示一个大的播放按钮,上面我们提到如何让他居中。

那么,如何在视频暂停时也显示这个播放按钮呢?

有很多用JS的解决办法,感觉都挺麻烦的。

其实用CSS就可以搞定了:

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

是不是很轻便很简单 :)

6 播放按钮变○圆形

videojs默认的播放按钮是圆角矩形,但是一般我们更熟悉圆形的播放按钮。

那么怎么改呢?还是用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的值也要相应改变

7 点击屏幕切换播放/暂停

这个是视频播放的时候用得较多的功能,解决方法如下。

.video-js.vjs-playing .vjs-tech { ???pointer-events: auto;}

pointer-events是CSS的一个属性,用来控制鼠标的动作,具体可参考《CSS里的pointer-events属性》。

8 重载视频文件

总有那么一些情形,我们需要重新载入视频文件。

比如,马上播放刚上传的文件。

例如这样的标签:

<video id="example_video"> ???<source id="videoMP4" src="1.mp4" /></video><button id="reload">重载</button>

那通过JS方式就可以这样实现:

var video = document.getElementById(‘example_video‘);var source = document.getElementById(‘videoMP4‘);$("#reload").click(function() { ???video.pause() ???source.setAttribute(‘src‘, ‘2.mp4‘); ???video.load(); ???video.play();});

或者:

var video = document.getElementById(‘example_video‘);$("#reload").click(function() { ???video.pause() ???video.setAttribute(‘src‘, ‘2.mp4‘); ???video.load(); ???video.play();});

videojs使用技巧

原文地址:https://www.cnblogs.com/yourself/p/8856661.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved