知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
java開發(fā)調(diào)用??低晹z像頭的web端頁面開發(fā)心得
發(fā)表時間:2017-7-18
發(fā)布人:葵宇科技
瀏覽次數(shù):236
最近在開發(fā)過程中 需要用到海康威視的攝像頭 在web端展示 在各種百度之后 發(fā)現(xiàn)網(wǎng)上很難找到一個 簡便,可靠的教程
在摸索著完成項目之后 ,決定寫一篇攻略 造福有需求的小伙伴
言歸正傳
首先需要下載一個??低曢_發(fā)包(百度搜索“ 海康威視web開發(fā)包”)也可以給我留言索要 提供3.0開發(fā)包
第一步:打開下載好的文件之后在找到demo文件夾下codebase
點擊webComponents.exe安裝 注意版本號和 32位 64位(這里跟正一下 木有64位)
如果沒有合適的 請去官網(wǎng)下載
第二步:將文件夾中
demo.js
demo.css
webVideoCtrl.js
這3個文件導(dǎo)入你的項目,還需要jquery 沒有的小伙伴可以導(dǎo)開發(fā)包里面的1.7
這時候?qū)腴_發(fā)包的html文件 是可以打開這樣一個頁面
OK demo 打開了 在登錄輸入你攝像機配置的地址 和賬號 密碼 端口號 點擊登錄
可以查看到 已登錄 設(shè)備 點擊 已登錄 設(shè)備 選中窗口 點擊預(yù)覽
這時候畫面就可以出來了 (引入的JS注意地址哦 )
第一步 完成 我們已經(jīng)連接上攝像頭了
下面 就開始做我們需要的功能的 web開發(fā)包里面 已經(jīng)提供了 API的說明文檔 我們只需要對照API 調(diào)用webVideoCtrl.js里面的方法 來實現(xiàn)我們需要的功能
比如我需要的是一個 在頁面打開的時候 打開事件匹配的監(jiān)視器同時展示在頁面,根據(jù)監(jiān)視器的數(shù)量打開一定的窗口。
1.打開頁面初始化插件
// 初始化插件
// 全局保存當(dāng)前選中窗口
var g_iWndIndex = 0; //可以不用設(shè)置這個變量,有窗口參數(shù)的接口中,不用傳值,開發(fā)包會默認(rèn)使用當(dāng)前選擇窗口
$(function () {
// 檢查插件是否已經(jīng)安裝過
if (-1 == WebVideoCtrl.I_CheckPluginInstall()) {
alert("您還未安裝過插件,下載WebComponents.exe安裝!");
return;
}
// 初始化插件參數(shù)及插入插件
WebVideoCtrl.I_InitPlugin(951.5, 360, {
iWndowType: 2,
cbSelWnd: function (xmlDoc) {
g_iWndIndex = $(xmlDoc).find("SelectWnd").eq(0).text();
var szInfo = "當(dāng)前選擇的窗口編號:" + g_iWndIndex;
showCBInfo(szInfo);
}
});
WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin");
// 檢查插件是否最新
if (-1 == WebVideoCtrl.I_CheckPluginVersion()) {
alert("檢測到新的插件版本,請將WebComponents.exe升級!");
return;
}
// 窗口事件綁定
$(window).bind({
resize: function () {
var $Restart = $("#restartDiv");
if ($Restart.length > 0) {
var oSize = getWindowSize();
$Restart.css({
width: oSize.width + "px",
height: oSize.height + "px"
});
}
}
});
//初始化日期時間
var szCurTime = dateFormat(new Date(), "yyyy-MM-dd");
$("#starttime").val(szCurTime + " 00:00:00");
$("#endtime").val(szCurTime + " 23:59:59");
//這里要用setTimeout調(diào)用登錄和預(yù)覽方法 ,如果直接調(diào)用 會打不開窗口 ,因為加載時需要時間的
window.setTimeout(clickLogin(),1000);
window.setTimeout(clickStartRealPlay(),1000);
});
2寫一個登錄方法
var ce03m=new Array();
var ce04m=new Array();
var ce05m=new Array();
<c:forEach items="${monitor}" var="monitor11">
ce02m.push("${monitor11.ce02}");
ce03m.push("${monitor11.ce03}");
ce04m.push("${monitor11.ce04}");
ce05m.push("${monitor11.ce05}");
</c:forEach>
var szIP = ce02m;
var szPort = ce05m;
var szUsername = ce03m;
var szPassword = ce04m;
// 登錄
function clickLogin() {
for(var i=0;i<szIP.length;i++){
var iRet = WebVideoCtrl.I_Login(szIP[i], 1, szPort[i], szUsername[i], szPassword[i], {
});
}
}
WebVideoCtrl.I_Login()需要傳4個值 賬號 地址 密碼 端口 端口默認(rèn)是80 可以不傳
我是從后臺接收了一個list<model>在JS里面用forEach遍歷進Array()
3.打開頁面
function clickStartRealPlay() {
for(var i=0;i<szIP.length;i++){
iWndIndex=i;
var iRet = WebVideoCtrl.I_StartRealPlay(szIP[i], {
iWndIndex:iWndIndex
});
}
//幾個賬號打開幾個窗口
if(ce02m.length>9){
changeWndNum(4);
}else{
if(ce02m.length>4){
changeWndNum(3);
}else{
changeWndNum(2);
}
}
WebVideoCtrl.I_StartRealPlay需要傳地址 ,這是必須的
iWndIndex是選定的窗口號 ,在不傳的情況下是默認(rèn)為0,我用I表示,可以按循環(huán)打開固定的窗口號 changeWndNum這個方法是打開幾個窗口 默認(rèn)4種格式 1*1 2*2
3*3 4*4根據(jù)分別對應(yīng)參數(shù) 1 2 3 4
剩下jsp只需要調(diào)用一下窗口樣式 和映入的js CSS文件
<div id="divPlugin" class="plugin"></div>
如果需要調(diào)整窗口大小 去CSS里面找到plugin
/*插件*/
.plugin
{
width:951.5px;
height:360px;
}
注意 哦 在加載的時候也要做一次調(diào)整 不然窗口是無變化的
// 初始化插件參數(shù)及插入插件
WebVideoCtrl.I_InitPlugin(951.5, 360, {}
OK 功能完美實現(xiàn)
相關(guān)案例查看更多
相關(guān)閱讀
- 百度小程序公司
- 公眾號模板消息
- 網(wǎng)站建設(shè)首頁
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- 云南網(wǎng)站建設(shè)靠譜公司
- 云南軟件設(shè)計
- 北京小程序開發(fā)
- 百度小程序開發(fā)
- 網(wǎng)站維護
- 云南小程序公司
- 云南小程序開發(fā)哪家好
- 云南衛(wèi)視小程序
- 昆明小程序開發(fā)聯(lián)系方式
- 百度快速排名
- 用戶登錄
- 云南網(wǎng)站建設(shè)公司排名
- 網(wǎng)站排名優(yōu)化
- 軟件定制
- 昆明軟件定制公司
- 小程序開發(fā)聯(lián)系方式
- 電商網(wǎng)站建設(shè)
- 微信分銷系統(tǒng)
- 大理小程序開發(fā)
- 小程序被騙
- 模版消息
- 網(wǎng)站收錄
- 汽車拆解管理系統(tǒng)
- 報廢車管理系統(tǒng)
- 云南小程序開發(fā)公司
- 汽車報廢