国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uni-app引入海康威視h5player實現(xiàn)視頻監(jiān)控的播放

這篇具有很好參考價值的文章主要介紹了uni-app引入??低昲5player實現(xiàn)視頻監(jiān)控的播放。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

知識儲備
  1. uni-app web-view組件相關(guān)知識:點擊學(xué)習(xí)。
  2. 海康威視相關(guān)工具下載:點擊跳轉(zhuǎn)下載。
  3. web-view組件不全屏顯示:uni-app web-view 如果設(shè)置不全屏 不自動鋪滿。
工具下載

首先下載??低昲5player的demo
h5player,uni-app,html,javascript,uni-app,音視頻,javascript
在uni-app項目中static文件夾下創(chuàng)建文件目錄,我命名為h5player
h5player,uni-app,html,javascript,uni-app,音視頻,javascript
將demo中bin文件夾下的文件原封不動復(fù)制到h5player文件夾中,txt文件可以刪除
h5player,uni-app,html,javascript,uni-app,音視頻,javascript
h5player根目錄下新建webplayer.html文件
h5player,uni-app,html,javascript,uni-app,音視頻,javascript
引入h5player.min.js

<script src="./h5player.min.js"></script>

h5player,uni-app,html,javascript,uni-app,音視頻,javascript

webplayer.html

在webplayer.html文件中,新增樣式,寬高根據(jù)自己的需求調(diào)整

<style type="text/css">
	html,
	body {
		/* width: 100%; */
		/* height: 100%; */
		margin: auto;
		overflow: hidden;
		background-color: #000;
		-webkit-user-select: none;
		user-select: none;
	}
	.myplayer {
		width: 100%;
		height: 2.21rem;
	}
</style>

在頁面創(chuàng)建dom元素

<div id="play_window" class="myplayer"></div>

獲取url中參數(shù)的方法

//取url中的參數(shù)值
function GetQueryString(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
	var r = window.location.search.substr(1).match(reg);
	if (r != null) return unescape(r[2]);
	return null;
}

初始化插件

// 初始化插件
var myPlugin = new JSPlugin({
	szId: 'play_window', //需要英文字母開頭 必填
	szBasePath: './', // 必填,引用H5player.min.js的js相對路徑
})

獲取視頻播放流以后,開始播放,播放成功后抓圖本地存儲

// 獲取視頻播放流
var playURL = GetQueryString("cameraUrl")
// 有視頻流地址以后,才進(jìn)行播放
if(playURL){
	// 窗口下標(biāo)
	var curIndex = 0;
	// 獲取監(jiān)控點唯一標(biāo)識,方便作為抓圖存儲的key
	var cameraIndexCode = GetQueryString("cameraIndexCode")
	// 視頻預(yù)覽
	myPlugin.JS_Play(playURL, {
		playURL,
		mode: 1
	}, curIndex).then(() => {
		console.info('JS_Play success 播放成功');
		// do you want...
		// 抓圖
		var fileName = 'img';
		var fileType = 'JPEG';
		//不進(jìn)行下載,數(shù)據(jù)回調(diào)
		myPlugin.JS_CapturePicture(curIndex, fileName, fileType,imageData => {
			console.info('JS_CapturePicture success 抓圖成功'); //2.1.0開始全是base64,之前的版本存在blob或者是base64
			// do you want...
			plus.storage.setItem(cameraIndexCode,imageData);
		})
	}, (err) => {
		console.info('JS_Play failed:', err);
		// do you want...
	});
}
h5player.vue

在uni-app應(yīng)用內(nèi),pages頁面中需要用到視頻播放的頁面,創(chuàng)建web-view組件
h5player,uni-app,html,javascript,uni-app,音視頻,javascript
web-view組件的src需要動態(tài)改變,所以存儲在data數(shù)據(jù)里
h5player,uni-app,html,javascript,uni-app,音視頻,javascript
因為web-view組件默認(rèn)就是占據(jù)整個視口的高寬,所以我們需要設(shè)置web-view的寬高,調(diào)整位置

// 設(shè)置web-view的寬高,調(diào)整位置
setHeight(){
	var height = 350; //定義動態(tài)的高度變量,如高度為定值,可以直接寫
	var currentWebview = this.$scope.$getAppWebview(); //獲取當(dāng)前web-view
	setTimeout(function() {
		var wv = currentWebview.children()[0];
		wv.setStyle({ //設(shè)置web-view距離頂部的距離以及自己的高度,單位為px
			top:300 , //此處是距離頂部的高度,應(yīng)該是你頁面的頭部
			height:  height , //webview的高度
			scalable: false, //webview的頁面是否可以縮放,雙指放大縮小,
		})
	}, 500); //如頁面初始化調(diào)用需要寫延遲
},

獲取視頻流地址,在 web-view 中只需要通過 URL 就可以向 H5 進(jìn)行傳參,通過url將數(shù)據(jù)傳入webplayer.html就可以播放監(jiān)控視頻了

// 獲取視頻流
previewURLs(){
	this.$api.previewURLs(this.cameraIndexCode,res=>{
		this.cameraUrl = res.data.url;
		console.log("previewURLs",this.cameraUrl);
		this.webURL="../../../static/h5player/webplayer.html?cameraIndexCode="+this.cameraIndexCode+"&cameraUrl="+this.cameraUrl
	});
},

這就是在uni-app應(yīng)用內(nèi)嵌入h5頁面,如果我們還要在uni-app應(yīng)用頁面中,添加其他組件模塊,記得避開h5頁面,web-view組件的層級是最高的。

視頻時效

獲取的視頻播放地址如果是有時效的,還要開啟一個定時器,定時刷新獲取url

// 視頻流地址失效后,重新刷新獲取地址
onReady() {
	// 定時獲取視頻播放流
	this.timer = setInterval(() => {
		this.previewURLs();
	}, 100000)
},
onHide() {
	// 關(guān)閉負(fù)荷趨勢定時器
	if(this.timer) {  
		clearInterval(this.timer);  
		this.timer = null;  
	}  
},

這種處理方式不太合適,可以配置為沒有時效的鏈接

傳遞參數(shù)為中文

傳入web-view的數(shù)據(jù)如果是中文,需要進(jìn)行編碼然后傳入,否則會出現(xiàn)亂碼

//這里對要傳入到webview中的參數(shù)進(jìn)行encodeURIComponent編碼否則中文亂碼
this.url+=encodeURIComponent(data.data)
webview 返回上一頁

webview 返回上一頁的時候,改變傳入的參數(shù)就要重新打開一個頁面,返回的時候就要多次返回??梢韵汝P(guān)閉webview然后跳轉(zhuǎn)頁面,具體參考:https://blog.csdn.net/z14322/article/details/125702942。

在H5環(huán)境中使用window.postMessage通信,webview向uni-app應(yīng)用發(fā)送消息

應(yīng)用端uni-app代碼:

onLoad: function() {
	window.addEventListener('message', function(e) { // 監(jiān)聽 message 事件
		console.log(e.origin);
		console.log("從" + e.origin + "收到消息: " + e.data);
	});
}

網(wǎng)頁webview代碼:

//向uniapp發(fā)送信息
function sendMsgToUniapp(value) {
	parent.postMessage(value, "*");
}

更多內(nèi)容可以參考:https://blog.csdn.net/liu2004051957/article/details/126886897。

uni-app中不使用webview、直接在.vue中播放視頻
createPlayerIns() {
	this.playerIns = new window.JSPlugin({
		szId: 'play_window', //需要英文字母開頭 必填
		szBasePath: '/static/h5player/',
		iMaxSplit: 1,
		iCurrentSplit: 1,
		bSupporDoubleClickFull:false,
		openDebug:true,
		oStyle: {
			border: "#f00",
			borderSelect: "#FFCC00",
			background: "#000"
		}
	})
},
playVideo() {
	let playURL = this.cameraUrl;
	alert(playURL)
	this.playerIns.JS_Play(playURL, {
		playURL,
		mode: 1
	}, 0).then(() => {
		alert("成功播放視頻")
	}, (err) => {
		alert('視頻播放失?。? + playURL + JSON.stringify(err));
	});
},

新增的文件仍然放在static中
h5player,uni-app,html,javascript,uni-app,音視頻,javascript
在index.html中引入h5player.min.js
h5player,uni-app,html,javascript,uni-app,音視頻,javascript文章來源地址http://www.zghlxwxcb.cn/news/detail-781839.html

到了這里,關(guān)于uni-app引入??低昲5player實現(xiàn)視頻監(jiān)控的播放的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue實現(xiàn)??礹5player問題匯總

    vue實現(xiàn)海康h5player問題匯總

    最開始寫的時候,把h5player封裝成了一個組件,把資源文件隨便放在了一個目錄下, 直接在子組件中引入,報錯 window.JSPlugin is not a constructor 或者 JSPlugin is not defined 初步分析應(yīng)該是引入資源文件失敗,查了很久才發(fā)現(xiàn),資源文件應(yīng)該放在public目錄下,并在public下的index.html中引

    2024年04月11日
    瀏覽(95)
  • vue2項目 使用海康視頻h5player@2.0版本

    vue2項目 使用??狄曨lh5player@2.0版本

    一、下載開發(fā)包 ? ? ? ? 我們需要去??倒倬W(wǎng)下載h5player@2.0版本的一些用到的文件 二、引入開發(fā)包 ? ? ? ? 下載之后我們把下載的文件打開把bin里的文件移動到pubilc文件里,可以自己單獨建一個文件放在里面 注意:一定要放在vue中的public文件夾中 否則會報錯 三、引用下載

    2024年02月03日
    瀏覽(28)
  • Vue 集成??礹5player,實現(xiàn)ws協(xié)議的實時監(jiān)控播放

    Vue 集成??礹5player,實現(xiàn)ws協(xié)議的實時監(jiān)控播放

    首先,前往官網(wǎng)下載h5player.js的demo包: 海康開放平臺 ??低暫献魃鷳B(tài)致力打造一個能力開放體系、兩個生態(tài)圈,Hikvision AI Cloud開放平臺是能力開放體系的核心內(nèi)容。它是??低暬诙嗄暝谝曨l及物聯(lián)網(wǎng)核心技術(shù)積累之上,融合AI、大數(shù)據(jù)、云計算等技術(shù),為合作伙伴提供

    2024年02月13日
    瀏覽(20)
  • uni-app搭建h5項目

    uni-app搭建h5項目

    一、 打開官方網(wǎng)站 https://uniapp.dcloud.net.cn/quickstart-cli.html 二、找到使用vue-cli命令行,按照文檔上的步驟進(jìn)行搭建 全局安裝 vue-cli 搭建項目 可以根據(jù)命令行搭建,搭建vue2.0對應(yīng)的是webpack, 也可以搭建vue3.0+vite,命令行下載不下來,直接訪問高亮起來的 gitee 然后下載模板即可

    2024年02月22日
    瀏覽(86)
  • uni-app引入地圖map組件--APP開發(fā)

    uni-app引入地圖map組件--APP開發(fā)

    需求場景:使用uni-app地圖組件,實現(xiàn)APP開發(fā) 開發(fā)環(huán)境:Mac,HbuildX3.4.14 測試環(huán)境:iOS真機(jī)調(diào)試 一、流程 1、關(guān)于Uini-app的map組件:官方文檔說明。map組件是原生組件,目前只針對原生APP開發(fā),因此通過app-nvue實現(xiàn),同時選擇的地圖服務(wù)商只能是高德地圖。 2、創(chuàng)建高德地圖應(yīng)用

    2024年02月15日
    瀏覽(22)
  • uni-app打開外部鏈接方式匯總(h5&app)

    問題描述 在應(yīng)用中打開一個外部的html頁面,即完整http鏈接的頁面。h5通過window.open或是內(nèi)嵌iframe基本都沒有問題,本文主要針對app端的方法進(jìn)行匯總,不涉及到小程序端。 方案1 使用uni-app的擴(kuò)展組件 uni-link ,使用參考文檔uni-app官網(wǎng) 該組件的行為是在app內(nèi)打開外部瀏覽器,

    2024年02月01日
    瀏覽(21)
  • uni-app如何區(qū)分 app、h5、小程序代碼; uni-app如何判斷是android、ios、小程序

    uni-app如何區(qū)分 app、h5、小程序代碼; uni-app如何判斷是android、ios、小程序

    uniapp是DCloud公司于2012年開始研發(fā)的能夠一次代碼開發(fā),生成H5、小程序(微信、支付寶、百度、華為等)、APP等應(yīng)用的技術(shù)的統(tǒng)稱,開發(fā)工具是HBuilderX,功能非常強(qiáng)大,由此引申出許多技術(shù)社區(qū)與生態(tài)環(huán)境。 使用HBuilderX開發(fā)Uniapp程序的項目,用它生成多端應(yīng)用,由于兼容各種

    2024年02月11日
    瀏覽(93)
  • 【uni-app項目如何引入 uView組件庫】

    【uni-app項目如何引入 uView組件庫】

    uView官方文檔 第一步: 在公司創(chuàng)建完成uniapp項目后引入uView 第二步: 您如果是使用HBuilder X創(chuàng)建的uniapp項目,使用uView組件庫的話需要在HBuilder X下載插件庫 下載 uni_modules ,(如果這個看不懂可以看官方文檔) (1) HBuilder X插件庫中下載 uni_modules 現(xiàn)在是已經(jīng)將 uView導(dǎo)入到項目中了

    2024年02月05日
    瀏覽(30)
  • uni-app滾動分頁 兼容(App 小程序 H5)

    uni-app滾動分頁 兼容(App 小程序 H5)

    因為手機(jī)端本身屏幕空間不大 所以大家一般都會選擇用滾動分頁 首先 我在根目錄下創(chuàng)建了一個 api目錄 下面創(chuàng)建了一個bookApi.js 其中寫了一個請求函數(shù) getBookList 根據(jù)當(dāng)前頁 page 和 每頁展示多少條 pageSize 獲取數(shù)據(jù) 那么 我的組件代碼是這樣的 首先 我們肯定要引入bookApi.js中的

    2024年02月16日
    瀏覽(95)
  • H5向uni-app小程序傳遞參數(shù)

    1.script src=\\\"https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js\\\"/script 本地下載包引入也可以。 ?2.傳遞參數(shù)。 3.接收參數(shù)。 @message=\\\"handleMessage\\\" ??獲取當(dāng)前數(shù)據(jù)是一個數(shù)組,每次獲取讓數(shù)組長度-1就是你需要的數(shù)據(jù)。

    2024年02月13日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包