二叉排序樹(C語言)及二次開發(fā)接口文檔_第1頁
二叉排序樹(C語言)及二次開發(fā)接口文檔_第2頁
二叉排序樹(C語言)及二次開發(fā)接口文檔_第3頁
二叉排序樹(C語言)及二次開發(fā)接口文檔_第4頁
二叉排序樹(C語言)及二次開發(fā)接口文檔_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

#include<stdio.h>#include<malloc.h>typedefintKeyType;typedefstructBinSearchNode{ KeyTypekey;/*結(jié)點的關(guān)鍵碼字段*/ structBinSearchNode*llink,*rlink;/*二叉樹的左、右指針*/}DicElement;typedefstruct{ intMAXNUM;/*字典中元素的個數(shù)上界*/ intn;/*為字典中實際元素的個數(shù)*/ int*element;/*存放字典中的元素*/}SeqDictionary;structBinSearchNode;typedefstructBinSearchNode*PBinSearchNode;typedefstructBinSearchNode*BinSearchTree;/*二叉排序樹*/typedefBinSearchTree*PBinSearchTree;intsearch(PBinSearchTreeptree,KeyTypekey,PBinSearchNode*position){ PBinSearchNodep,q; p=*ptree; q=p; while(p!=NULL) { q=p;/*用q記錄父結(jié)點的位置*/ if(p->key==key) { *position=p; return1; }/*檢索成功*/ elseif(p->key>key)p=p->llink;/*進(jìn)入左子樹繼續(xù)檢索*/ elsep=p->rlink;/*進(jìn)入右子樹繼續(xù)檢索*/ } *position=q; return0;/*檢索失敗,position指向失敗時的父結(jié)點*/}voidinOrder(BinSearchNode*p){ if(p) { if(p->llink) inOrder(p->llink); printf("%d",p->key); if(p->rlink) inOrder(p->rlink); }}intinsert(PBinSearchTreeptree,KeyTypekey){ PBinSearchNodep,position; if(search(ptree,key,&position)==1) return1;/*已存在關(guān)鍵碼為key的結(jié)點*/ p=(PBinSearchNode)malloc(sizeof(structBinSearchNode));/*申請新結(jié)點*/ if(p==NULL) { printf("Error\n"); return0; }/*申請空間出錯*/ p->key=key; p->llink=p->rlink=NULL;/*對新結(jié)點的賦值*/ if(position==NULL) *ptree=p;/*原樹為空樹*/ elseif(key<position->key) position->llink=p;/*插入position的左子樹*/ elseposition->rlink=p;/*插入position的右子樹*/ return1;}intcreatSearchTree(PBinSearchTreeptree,SeqDictionary*dic)//新建二叉排序樹{ inti;*ptree=NULL;/*將二叉排序樹置空*/ printf("請輸入字典中允許的最大元素個數(shù)\n"); scanf("%d",&dic->MAXNUM); dic->element=(int*)malloc(sizeof(int)); printf("請輸入當(dāng)前要插入的元素的個數(shù)\n"); scanf("%d",&dic->n); printf("請輸入%d個大小不一樣的整數(shù)\n",dic->n); for(i=0;i<dic->n;i++) { scanf("%d",&dic->element[i]); if(!insert(ptree,dic->element[i])) return0;/*將新結(jié)點插入樹中*/ } return1;}intdeleteNode_a(PBinSearchTreeptree,KeyTypekey){ PBinSearchNodeparentp,p,r; p=*ptree; parentp=NULL; while(p!=NULL) { if(p->key==key) break;/*找到了關(guān)鍵碼為key的結(jié)點*/ parentp=p;/*沒有找到選子樹*/ if(p->key>key) p=p->llink; elsep=p->rlink; } if(p==NULL) return0;/*不存在*/ if(p->llink==NULL) {/*無左子樹*/ if(parentp==NULL)/*刪除根結(jié)點*/ *ptree=p->rlink; elseif(parentp->llink==p)/*將右子樹鏈到父結(jié)點的左鏈*/ parentp->llink=p->rlink; else/*將右子樹鏈到父結(jié)點的右鏈上*/ parentp->rlink=p->rlink; } else/*有左子樹*/ { r=p->llink; while(r->rlink!=NULL) r=r->rlink;/*在*p的左子樹中找最右下結(jié)點*r*/ r->rlink=p->rlink;/*用*r的右指針指向*p的右子女*/ if(parentp==NULL) *ptree=p->llink; elseif(parentp->llink==p)/*把*p的左子結(jié)點鏈到父結(jié)點的左鏈*/ parentp->llink=p->llink; else/*把左子結(jié)點鏈到父結(jié)點的右鏈*/ parentp->rlink=p->llink; } free(p); return1;}intdeleteNode_b(PBinSearchTreeptree,KeyTypekey){ PBinSearchNodeparentp,p,r; p=*ptree; parentp=NULL; while(p!=NULL) { if(p->key==key) break;/*找到了關(guān)鍵碼為key的結(jié)點*/ parentp=p; if(p->key>key) p=p->llink; else p=p->rlink; } if(p==NULL) return0; if(p->llink==NULL)/*無左子樹*/ { if(parentp==NULL)/*刪除根結(jié)點*/ *ptree=p->rlink; elseif(parentp->llink==p)/*將右子樹鏈到父結(jié)點的左鏈*/ parentp->llink=p->rlink; else/*將右子樹鏈到父結(jié)點的右鏈上*/ parentp->rlink=p->rlink; }/*用第二種方式刪除*/ else/*結(jié)點*p有左子樹*/ { PBinSearchNoderr=p; for(r=p->llink;r->rlink!=NULL;r=r->rlink)/*找到p的左子樹的最右結(jié)點*/ rr=r; p->key=r->key;/*復(fù)制結(jié)點信息*/ if(rr==p) p->llink=r->llink;/**r的父結(jié)點就是*p*/ else rr->rlink=r->llink;/*用*r的左子結(jié)點代替*r*/ p=r;/*為統(tǒng)一在下面釋放存儲*/ } free(p);/*釋放被刪除結(jié)點的存儲*/ return1;}voidinset_node(PBinSearchTree&ptree){ KeyTypekey; printf("請輸入你要插入的元素(整數(shù))\n"); scanf("%d",&key); insert(ptree,key);}voidshow(BinSearchNode*t,intlen=0)//數(shù)的形狀{ if(t!=NULL) { show(t->rlink,len+1); for(inti=1;i<=len;i++) { printf(""); } printf("%d\n",t->key); show(t->llink,len+1); }}voiddeletenode(PBinSearchTreeptree){ intdelet_kind=0,key; printf("請輸入你要刪除的元素!\n"); scanf("%d",&key); printf("你要以什么方式刪除?\n方式1請輸入1,方式2請輸入0\n"); scanf("%d",&delet_kind); if(delet_kind) { deleteNode_a(ptree,key); printf("以方式1刪除后的二叉排序樹為:\n"); show(*ptree); } else { deleteNode_b(ptree,key); printf("以方式2刪除后的二叉排序樹為:\n"); show(*ptree); }}voidinterface(void){ printf("\n&&&&&&&&&&&&&&輸入序號執(zhí)行相應(yīng)操作&&&&&&&&&&&&&&&&&\n"); printf("輸入1,重新建立二叉排序樹!\n"); printf("\n"); printf("輸入2,展示我的二叉排序樹!\n"); printf("\n"); printf("輸入3,中根周游我的二叉排序樹!\n"); printf("\n"); printf("輸入4,插入新的元素!\n"); printf("\n"); printf("輸入5,刪除二叉排序樹中的元素!\n"); printf("\n"); printf("輸入其他,退出操作!\n"); printf("\n");}voidoperation(PBinSearchTree&ptree,SeqDictionary*(&dic)){ intk=1,num; while(k) { interface(); scanf("%d",&num); switch(num) { case1: creatSearchTree(ptree,dic);//建立二叉排序樹 break; case2: { show(*ptree);//展示我的二叉排序樹 } break; case3: { printf("當(dāng)前二叉排序樹的中根周游序列為:\n"); inOrder(*ptree);//周游我的二叉排序樹 } break; case4: { inset_node(ptree);//插入新的元素 } break; case5: { deletenode(ptree);//刪除二叉排序樹中的元素 } break; default: printf("您未選定任何操作!請重新輸入操作序號!\n"); k=0; break; } }}intmain(){ PBinSearchTreeptree=(PBinSearchTree)malloc(sizeof(BinSearchNode*));//分配二叉排序樹結(jié)點指針 SeqDictionary*dic=(SeqDictionary*)malloc(sizeof(SeqDictionary));//分配二叉排序樹指針 creatSearchTree(ptree,dic);//建立二叉排序樹 operation(ptree,dic); getchar(); getchar(); return0;}接口開發(fā)文檔一、開發(fā)包目錄結(jié)構(gòu)demo文件夾包含了sdk接口調(diào)用源代碼,可供二次開發(fā)參考。使用C++開發(fā)的MFC程序。dl文件夾包含了二次開發(fā)所需的所有動態(tài)庫,demo編譯好的文件需要放在該文件夾內(nèi)才可以運行。include文件夾包含了二次開發(fā)所需要的頭文件。文件夾包含了二次開發(fā)所需要的lib靜態(tài)庫。DSS二次開發(fā)指南(C++).pdf指導(dǎo)二次開發(fā)用戶如何新建工程運行文件夾中的開發(fā)包的程序版本信息。常見問題解答.pdf二次開發(fā)常見問題以及解決方式。大華平臺SDK開發(fā)手冊(C++版).chm二次開發(fā)接口使用說明。二、術(shù)語和縮略語1、DPSDK:DSS平臺二次開發(fā)SDK包2、CMS:中心管理服務(wù)3、DM:設(shè)備管理模塊4、demo:程序示例(功能類似DSS平臺客戶端)5、管理員端:在瀏覽器中輸入DSS平臺的ip即可打開管理員端6、id,形如:10000010$1$0$07、id操作方法3.1運行demo目錄下面的3個文件,如下圖所示拷貝到“dll”文件夾下面,運行Test_DPSDK_Core.exe。3.2登陸平臺登陸界面如圖1所示,其中:IP:DSS平臺ip地址;端口:9000;

圖1登陸界面用戶名:web管理員端配置的用戶;密碼:web管理員端配置的用戶對應(yīng)的密碼。點擊“登錄”按鈕,登陸平臺。登陸成功的界面如圖2所示:1235圖2主界面上圖選中的5個模塊分別是:1、組織樹;2、實時視頻;3、本地錄像;4、云臺操作;5、執(zhí)行結(jié)果。3.3主界面功能介紹3.3.1、組織樹操作步驟:點擊“加載所有組織結(jié)構(gòu)”按鈕加載組織結(jié)構(gòu)是其他操作的前提,是為了獲取DSS平臺上所有的設(shè)備信息。3.3.2、實時視頻模塊操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入ID)。3)點擊“打開視頻”按鈕,即可打開視頻。如果打開視頻失敗會在“模塊5”的位置提示錯誤碼。注釋1:aD(通道D)的獲取方式有1展開模塊1組織樹尋找到對應(yīng)的編碼器通道,即可看到該通道對應(yīng)的通道ID;2)登陸管理員端,選擇基本配置-設(shè)備管理-編碼器界面,看到“編碼”列給出的是“設(shè)備D。使用設(shè)備ID組成通道ID即:設(shè)備D$1$0$0。$1代表編碼器$0代表單元序號默認(rèn)為0$0代表通道號具體信息參“常見問題解答”。3.3.3、本地錄像模塊操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)確保已經(jīng)成功打開實時視頻。3)點擊“開始錄像”按鈕即可開始本地錄像。在打開實時視頻以后可以錄像,并保存到本地磁盤。3.3.4、云臺控制模塊操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)確保已經(jīng)成功打開實時視頻。打開實時視頻以后,針對球機(jī)設(shè)備可以操作八方向、調(diào)節(jié)球機(jī)鏡頭、設(shè)置預(yù)置點等。3.3.5、執(zhí)行結(jié)果模塊將所有操作的結(jié)果輸出。并輸出對應(yīng)的操作失敗錯誤碼。3.4回放界面功能介紹3.4.1錄像查詢操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入CameraID(通道ID)。3)選擇查詢的開始和結(jié)束時間。4)選擇錄像來源。5)選擇錄像類型。點擊“查詢錄像”按鈕查詢錄像。3.4.2錄像回放操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)確保已經(jīng)查詢到錄像文件。3)選中錄像文件,點擊“按文件回放”按鈕。3.4.2錄像下載操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)確保已經(jīng)查詢到錄像文件。3)選中錄像文件,點擊“按文件下載”按鈕。3.5報警功能3.5.1查詢報警操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入amD(通道D。3)選擇報警類型,點擊“查詢”按鈕。需要注意的是查詢視頻類報警(即:視頻丟失/移動偵測/視頻遮擋)時為1000001$1$0$0,查詢其他報警(除上述3種報警類型)的時候為1000001$3$0$0。因為視頻類報警是由“視頻通道”產(chǎn)生,其他報警是由“報警輸入通道”產(chǎn)生。3.5.2報警布控操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入設(shè)備ID。3)輸入通道號,(視頻類報警使用“視頻通道號”,其他報警使用“報警通道號”)。4)選擇報警類型,點擊“布控”按鈕即可。注釋:視頻類報警類型包含1)視頻丟失2)移動偵測3)視頻遮擋。3.6語音對講PAGEPAGE93.6.1打開語音對講操作步驟:1)確保已經(jīng)成功加載組織結(jié)構(gòu)。2)輸入CamID(通道ID),選擇對講參數(shù),3)點擊“開始語音對講”按鈕。如果參數(shù)錯誤會彈窗提示正確參數(shù)信息。3.6.2關(guān)閉語音對講操作步驟:1)確保已經(jīng)成功打開語音對講。2)點擊“根據(jù)序列號停止語音對講”或者“根據(jù)通道號停止語音對講”按鈕。3.7電視墻目前Demo不能新建電視墻任務(wù),只能獲取平臺配置好的電視墻信息。電視墻的任務(wù)需要在平臺客戶端添加。3.7.1電視墻操作操作步驟:1)確保已經(jīng)成功加載組織樹。2)點擊“獲取電視墻總數(shù)”按鈕。3)點擊“獲取電視墻信息”按鈕。4)選擇電視墻ID。5)點擊“獲取電視墻布局”按鈕。即可顯示電視墻對應(yīng)的屏幕分割信息。上圖顯示ID為3的電視墻的名字是tt狀態(tài)是(代表啟用電視墻有4塊屏幕屏i、屏名稱、屏坐標(biāo)、是否綁定解碼器(1_1000943代表綁定解碼器,解碼器id為1000943)。3.7.2屏幕分割和開窗操作操作步驟:1)確保已經(jīng)成功獲取到電視墻屏幕信息。2)選擇一個屏幕。3)執(zhí)行分割和開窗操作。所有的融合屏<NVD除外>都只做開窗。非融合和融合的NVD都只做分割。開窗操作(left,上)代表窗口左上角坐標(biāo),width和代表寬和高的比例,范圍是0-100。例如(lft,上)為(00(withHigt)為(50503.7.3設(shè)置視頻源操作操作步驟:1)確保已經(jīng)成功獲取到電視墻屏幕信息。2)輸入編碼器通道ID。3)輸入窗口號(分割和開窗操作的窗口號從0開始)。4)點擊“設(shè)置”按鈕。5)點擊“關(guān)閉”按鈕清除窗口視頻源。6)點擊“清屏”按鈕清除所有屏幕上的窗口和視頻源。四、常見問題1概述本文檔列出了使用大華SDK進(jìn)行二次開發(fā)時出現(xiàn)的常見問題以及對應(yīng)的解決方法。方便第三方開發(fā)者快速定位問題,提高二次開發(fā)效率。2問題列表問題匯總2.1.1在瀏覽器中打開視頻窗口顯示因為沒有注冊文件夾中雙擊只有提示注冊成功才可以??丶栴}匯總2.2.1OCX無法注冊1、OCX控件時微軟推出已久的技術(shù),其注冊方法及出錯原因可在微軟官方文檔上查詢,或者可以自行在網(wǎng)上查找解決方法。OCX注冊問題本不屬于DPSDK支持范疇。2、不過我們還是提供一些建議,以便您快速排除問題:()用“管理員權(quán)限”打開“開始”“附件”“命令提示符,輸入“esr2ocx的全路徑”即可。(2)我們提供的控件是32位程序,請確保系統(tǒng)有32位兼容庫,具體判斷方法為全路徑”即可,如“c:\windows\SysWOW64\regsvr32Z:\DPSDK_OCX\ocx\DPSDK_OCX.ocx”如以上2點仍然沒有能夠成功注冊,請在網(wǎng)上,根據(jù)自己的系統(tǒng)信息自行搜索解決方案。3在注冊ll或者ocx的時候經(jīng)常會遇到這么一個問題模塊已加載但對lleiteeer的調(diào)用失敗,錯誤代碼為0x8004*****解決方法:在批處理的第一行加入:cd/d%~dp0然后在批處理上右鍵選擇使用管理員權(quán)限運行Windows7出現(xiàn):應(yīng)用程序無法啟動,因為應(yīng)用程序的并行配置不正確有關(guān)詳細(xì)信息,請參閱應(yīng)用程序事件日志,或使用命令行straeee工具”解決方法:出現(xiàn)這個問題是因為安裝后,或使用版本安裝后,沒有安裝isul++庫而有些軟件需要isulC+庫所以到微軟官方網(wǎng)站下載MirsotC++ 2005 SP1 下 載 :t//ww.iroof.cmdowlad/dalsasp?amli=200B2D9-E1A414-984D-389C36F85647&displaylang=zh-cn安裝2.2.2位系統(tǒng)下無法使用目前X控件只有32位的程序所以在64位系統(tǒng)下需要下載2位的IE用32位的IE加載控件即可。2.2.3注冊成功但是在頁面加載失敗運行IE工具-Ieret選項>安全確保Iteet和本地Itret和可信站點的自定義級別中的選項都不是禁止?fàn)顟B(tài),將禁止?fàn)顟B(tài)改為提示狀態(tài)。2.2.4開發(fā)包程序運行不起來未注冊,可以采用一下兩種方法注冊:運行->CMD,regsvr32 DPSDK_OCX.ocx絕對路徑運行ocx開發(fā)包文件夾里面的批處理,注意:DPSDK_OCX.ocx必須要和放在同一個路徑。如果仍舊注冊失敗需要安裝vs發(fā)布包,vcredist_x86.exe,可以從微軟官網(wǎng)上直接下載2.2.5如何獲通道在瀏覽器輸入DSS平臺的ip打開web設(shè)置”-“設(shè)備管理”-“編碼器”頁面的“編碼”列是所有的設(shè)備ID。而的格式為:設(shè)備ID$$$通道號如設(shè)備ID“1000且設(shè)備下有3個視頻通道,那么這3個為"1000000$1$0$0"、"1000000$1$0$1"、"1000000$1$0$2"。2.2.6是否可以不加載組織結(jié)構(gòu)不調(diào)用DPSDK_LoadDGroupInfo也是可以的,但僅限于實時視頻、錄像回放,其他操作,如操作云臺等功能無法使用。方法是中的設(shè)置為DPD_CE_NT_CEC_IGT即可。2.2.7OCX無法保存抓圖或創(chuàng)建文件夾失敗win7系統(tǒng)的安全控制導(dǎo)致控件無法創(chuàng)建文件夾需要使用賬號登陸win7系統(tǒng)開發(fā)使用(有管理員權(quán)限的普通賬戶也不行)。2.2.8OCX控件收不到報警1)需要先調(diào)用布控報警DPSDK_EnableAlarm。2)其次平臺或者設(shè)備觸發(fā)報警。2.2.9OCX請求視頻沒有聲音需要打開音頻(DPSDK_OpenAudioByWndNo,DPSDK_OpenAudioByHWND)2.2.10加載監(jiān)控視頻成功時瀏覽器會死掉瀏覽器兼容問題,目前ocx控件主要針對IE8/IE9環(huán)境。2.2.11瀏覽器加載視頻成功,其他瀏覽器無法加載瀏覽器兼容問題,其他基于IE內(nèi)核或者多核模式的瀏覽器(遨游,360,搜狗瀏覽器等)需要選擇兼容模式瀏覽。2.2.12OCX操作導(dǎo)致崩潰目前OCX中我們已經(jīng)集成了在崩潰時生成crash的功能,OCX崩潰時會彈出對話框提示dump生成的位置用戶只需在此位置下找到.dmp文件然后將對應(yīng)的pdb文件一同發(fā)送給我們即可。2.2.13目前只支持32位瀏覽器在頁面中加上<metahttp-equiv="X-UA-Compatible"content="IE=EmulateIE8"/>,讓IE瀏覽器以兼容IE8方式運行。2.2.14一路視頻對應(yīng)兩路音頻情況缺少音頻通道標(biāo)識DPSDK_OCX之前的開發(fā)包中已經(jīng)提供了多音頻通道的接口,DPSDK_GetAudioChannelsByWndNo//獲取音頻通道數(shù)DPSDK_GetAudioChannelStateByWndNo//獲取某個音頻通道的狀態(tài)DPSDK_SetAudioChannelByWndNo//打開某個音頻通道界面上的按鈕只是單純的音頻開關(guān),客戶如需切換聲道,需要手動調(diào)用以上幾個接口。2.2.15DPSDK_SeekPlaybackBySeqByWndNo無法定位??典浵竦讓硬シ艓觳恢С趾?典浵竦亩ㄎ徊僮鳎贿^可以通過以下操作替代,以實現(xiàn)一個進(jìn)度條為例:拖動進(jìn)度條時,直接先關(guān)閉回放,再以進(jìn)度條的當(dāng)前時間重新按時間請求回放。此時由于重新請求,DPSDK_GetPlaybackPosByWndNo等接口獲取的進(jìn)度不準(zhǔn)確,改用DPD_GtraeieBWdNo直接獲取幀時間然后保存下最初的開始和結(jié)束時間即可計算正確的進(jìn)度。2.2.16DPSDK斷線重連,不能打開視頻需要重新加載組織結(jié)構(gòu)(即在OnDevStatusEvent中,當(dāng)收到重連成功的事件后,調(diào)用DPSDK_LoadDGroupInfo)。2.2.17NVR設(shè)備狀態(tài)和通道狀態(tài)不同NVR的通道狀態(tài)需要通過訂閱才能實時返回通道狀態(tài)。設(shè)備在線,不一定通道在線。OCX:ChannelStatusCallback。2.2.18YUV碼流接口不支持??翟O(shè)備Ext層的YUV碼流的相關(guān)接口,只支持大華設(shè)備。不支持??翟O(shè)備。2.2.19接口返回某個錯誤碼的含義1)接口返回1010錯誤2)調(diào)用返回3502,3600錯誤未選中窗口或者窗口失去焦點。3)返回其它錯誤碼版本問題匯總通道ID(CameraID)介紹1)1000010是設(shè)備ID,該設(shè)備可以在平臺管理員端“基本配置-設(shè)備管理”頁面的“編碼”列查詢。是解碼單元、3是報警輸出單元。實時視頻都是$1。3)$0默認(rèn)全寫0,代表的是單元類型的序號。4$0這個代表的是通道序號從0開始計算比如一個設(shè)備有8個通道則通道序號是0-7.如何獲通道1)DSD_LL開發(fā)包中,有eo程序,deo程序中登錄后,選擇“分級加載組織結(jié)構(gòu),即可看到組織和設(shè)備樹。雙擊直到最后一層即為CameraId。demo我們提供了源碼,你可以根據(jù)源碼進(jìn)行開發(fā),源碼中涉及到的函數(shù)在開發(fā)文檔中都有詳細(xì)說明。2)在瀏覽器中,用管理員身份登錄平臺,可以看到所有的設(shè)備ID。而編碼器CameraID的格式為:"設(shè)備ID10$通道號",如設(shè)備D為“10000,且設(shè)備下有3個通道,那么這3個CameraID為"1000000$1$0$0"、"1000000$1$0$1"、"1000000$1$0$2"。2.3.3NVR設(shè)備狀態(tài)和通道狀態(tài)不同NVR的通道狀態(tài)需要通過訂閱才能實時返回通道狀態(tài)。設(shè)備在線,不一定通道在線。dll:DPSDK_SetDPSDKNVRChnlStatusCallback。2.3.4登錄之后打開視頻返回建立失敗如果是內(nèi)外網(wǎng)環(huán)境,可能網(wǎng)絡(luò)環(huán)境不正確。問題匯總IOS問題匯總2.5.1點擊實時預(yù)覽崩潰可能是播放庫太老,需要更新播放庫。其它2.6.1設(shè)備通道ID(CameraID)如何獲?。揩@取方式:方法1.打開對應(yīng)的Demo,加載組織樹,展開對應(yīng)的組織節(jié)點,找到設(shè)備即可看到通道ID方法2.通道ID格式為“設(shè)備ID$10$通道號。比如設(shè)備ID為10001,對應(yīng)第一個視頻通道ID為1000001$1$0$0,對應(yīng)第二個視頻通道為1000001$1$0$1,依次類推。設(shè)備ID可以從DSS管理員端“設(shè)備管理”頁面獲取。在管理員模式下,使用system用戶登陸進(jìn)入:基本設(shè)置->設(shè)備管理查看設(shè)備ID。通道號:對于IPC設(shè)備,只有一個通道,通道號只有0;對于DVR設(shè)備,有多個通道,具體的通道個數(shù)是在web管理員平臺上配的,比如配了4個通道,通道號

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論