videojs提示

來源:互聯網
上載者:User

標籤:str   動作   eoj   name   blank   get   修改   inner   on()   

videojs網上有很多,可以直接百度下載就行,引用他的css,js,在頁面中使用video,下面的css修改可以在video.js裡面直接改

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在未播放時,會顯示一個大的播放按鈕,上面我們提到如何讓他置中。

那麼,如何在視頻暫停時也顯示這個播放按鈕呢?

.vjs-paused .vjs-big-play-button,.vjs-paused.vjs-has-started .vjs-big-play-button {    display: block;}
6 播放按鈕變○圓形

videojs預設的播放按鈕是圓角矩形,但是一般我們更熟悉圓形的播放按鈕。

 

.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提示

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.