videoJS播放器嵌入頁面及api介紹
1、建立videoJS播放器例項
(1)呼叫swf檔案
<script type="text/javascript">videojs.options.flash.swf = "player/video-js.swf";</script>
(2)配置初始化引數
<!-- data-setup{}可以控制播放器的一些功能;autoplay:true/false,是否自動播放;preload:auto\none\meta,自動載入\不載入\載入後設資料 -->
<video id="videoPlayer" class="video-js vjs-default-skin vjs-big-play-centered"
controls preload="auto" poster="img/eguidlogo.png" width="640" height="360"
data-setup='{ "html5" : { "nativeTextTracks" : false } }'>
<source src='rtmp://192.168.30.21/live/' type='rtmp/flv' />
</video>
如果播放的是普通視訊,需要修改<source src='視訊地址' type='video/mp4或者video/flv'/>
type裡面放 ‘ video/視訊格式 ’ 即可
(3)建立播放器例項
//播放器例項
var player = videojs('videoPlayer');
2、videoJS常用api:
/*
* 根據videoJS官方文件編寫的播放器常用操作
*/
//獲取當前型別
function getCurrentType(idnex) {
return idnex.currentType();
}
//獲取當前播放地址
function getCurrentAddr(index) {
return index.currentSrc();
}
//獲取當前播放時間
function getCurrentTime(index) {
return index.currentTime();
}
//獲取當前網路狀態
function networkState(index) {
return index.networkState();
}
//修改播放地址
function setsrc(index, url, type) {
index.src({
type : type,
src : url
});
}
//過載播放器
function reset(index) {
index.reset();
index.load();
}
//播放
function play(index) {
index.play();
}
//暫停
function pause(index) {
index.pause();
}
3、videoJS選單介面二次開發
簡單實現清晰度控制和建立清晰度選單
//播放器例項
var player = videojs('videoPlayer');
//播放器初始化操作皮膚清晰度選單
function playerInitVideo() {
$videoPanelMenu = $(".vjs-fullscreen-control");
$videoPanelMenu.before('<div class="vjs-subtitles-button vjs-menu-button vjs-menu-button-popup vjs-control vjs-button" tabindex="0" role="menuitem" aria-live="polite" aria-expanded="false" aria-haspopup="true">'
+ '<div class="vjs-menu" role="presentation">'
+ '<ul class="vjs-menu-content" role="menu">'
+ '<li class="vjs-menu-item" tabindex="-1" role="menuitemcheckbox" οnclick="changeUrl(this)">高清</li>'
+ '<li class="vjs-menu-item vjs-selected" tabindex="-1" role="menuitemcheckbox" οnclick="changeUrl(this)">標清 </li>'
+ '</ul></div><span class="vjs-control-text">清晰度</span></div>');
}
//載入頁面進行播放器初始化
player.ready(function() {
playerInitVideo();
//player.play();
//setsrc(player,"rtmp://192.168.30.21/live/test3","rtmp/flv");
});
//通過id獲取DOM
function get(index) {
return document.getElementById(index);
}
//修改播放地址並播放
function writeAddressAndPlay(index,url,type) {
//播放器操作
setsrc(index, url, type?type:"rtmp/flv");
play(index);
}
//高清標清切換就是應用名加減HD
function changeUrl(video) {
var index = $(video).text();
//獲取當前播放的url
var CurrentUrl = getCurrentAddr(player);
$(".vjs-menu-item").removeClass("vjs-selected");
$(video).addClass("vjs-selected");
if (index == "高清") {
if (CurrentUrl.indexOf("HD") == -1) {
CurrentUrl = CurrentUrl + "HD";
} else {
return;
}
} else {
if (CurrentUrl.indexOf("HD") != -1) {
CurrentUrl = CurrentUrl.replace("HD", "");
} else {
return;
}
}
//修改地址並播放
writeAddressAndPlay(player, CurrentUrl);
}
同時還推薦一款國內的視訊外掛:ckplayer()
相關文章
- HTML頁面Meta介紹HTML
- RabbitMQ的web頁面介紹(三)MQWeb
- NA嵌入Flutter頁面Flutter
- postMessage實現頁面通訊介紹
- 《H5宣傳頁面》介紹(一)H5
- 嵌入式概念介紹
- 利用css設定列印頁面簡單介紹CSS
- 網頁被劫持什麼?防止頁面劫持方法介紹網頁
- JCache API介紹API
- 瀏覽器渲染頁面過程簡單介紹瀏覽器
- CoreImage濾鏡效果及API引數介紹(五)API
- ChatGPT API使用介紹ChatGPTAPI
- SAAJ API 介紹(未完)API
- BookKeeper 介紹(3)--APIAPI
- Jenkins api 介紹JenkinsAPI
- 【Flutter】 介紹一種通用的頁面路由設計方案Flutter路由
- ASP.NET Core 5.0 MVC中的 Razor 頁面 介紹ASP.NETMVC
- 介紹Cloudflare頁面:構建JAMstack網站的最佳方法Cloud網站
- [原創]淺談H5頁面測試介紹H5
- Tyk API閘道器介紹及安裝說明API
- 嵌入式ARM核心板介紹
- 開源視訊播放器介紹播放器
- 嵌入視訊到html5頁面HTML
- 關於Webpack5 搭建 React 多頁面應用介紹WebReact
- SAP WebClient UI頁面標籤的決定邏輯介紹WebclientUI
- RESTful api風格介紹RESTAPI
- Phabricator Conduit API介紹UIAPI
- Elastic Search 索引 API 介紹AST索引API
- Yocto專案介紹及入門 -- 嵌入師工程師必備利器工程師
- 在WPF中嵌入WebBrowser視覺化頁面Web視覺化
- javascript判斷iframe頁面載入完畢方法簡單介紹JavaScript
- js獲取滑鼠在頁面中的座標簡單介紹JS
- 科大訊飛cordova語音外掛填坑及api介紹API
- WebSphere MQ Low Latency Messaging 產品介紹及 API 使用WebMQAPI
- Flutter頁面保活及保持頁面跳轉位置Flutter
- JSSoundKit: 超簡單的網頁播放器APIJS網頁播放器API
- 阿里雲播放器SDK的正確開啟方式 | Aliplayer Web播放器介紹及功能實現(三)阿里播放器Web
- Web API的簡史介紹WebAPI