天敏VC4000 視頻SDK幫助文檔_第1頁(yè)
天敏VC4000 視頻SDK幫助文檔_第2頁(yè)
天敏VC4000 視頻SDK幫助文檔_第3頁(yè)
天敏VC4000 視頻SDK幫助文檔_第4頁(yè)
天敏VC4000 視頻SDK幫助文檔_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、深圳天敏視訊科技版權(quán)所有Sa7134Capture.DLL 及Sa7130Capture.DLL動(dòng)態(tài)庫(kù)使用說(shuō)明 (for VC+ 6.0)操作系統(tǒng):Windows 2000/winxp注:10MOONS VC 401P/404P產(chǎn)品對(duì)應(yīng)動(dòng)態(tài)庫(kù)Sa7134Capture.DLL(相應(yīng)頭文件及l(fā)ib文件為Sa7134Capture.h及Sa7134Capture.lib),10MOONS VC 4000/8000產(chǎn)品對(duì)應(yīng)動(dòng)態(tài)庫(kù)Sa7130Capture.DLL(相應(yīng)頭文件及l(fā)ib文件為Sa7130Capture.h及Sa7130Capture.lib),以下僅以VC 401P/404P為例說(shuō)明。一

2、、編譯環(huán)境:1、 將SDK安裝目錄下的Inc 和 Lib 目錄路徑分別加入VC+工程設(shè)置的 “C/C+ - Preprocressor Additional include directories”和“Link Input Additional library path”中。2、 將 LibSa7134Capture.lib 文件加入工程設(shè)置的“Link General Object/library module”中。3、 將 IncSa7134Capture.h 文件加入工程,并 #include “”。4、 將 ExeSa7134Capture.DLL文件拷入系統(tǒng)目錄或其他系統(tǒng)能找到的目錄

3、中。5、 開(kāi)始編寫(xiě)代碼。二、函數(shù)說(shuō)明:函數(shù)修改:BOOL WINAPI VCAInitSdk( HWND hWndMain, BOOL bInitVidDev = TRUE, BOOL bInitAudDev = FALSE );說(shuō)明:初始化SDK。hWndMain:overlay窗口句柄,overlay窗口就是包含多路顯示小窗口的大窗口。overlay窗口必須有一個(gè),多路顯示小窗口必須包含再其內(nèi)部。bInitVidDev:是否初始化視頻設(shè)備用于預(yù)覽,當(dāng)視頻不顯示,只需視頻錄像或音頻處理時(shí)可以設(shè)置為FALSE.bInitAudDev:是否初始化音頻設(shè)備用于聲音播放,當(dāng)不音頻不需要播放,只需音頻

4、錄像或視頻處理時(shí)、或沒(méi)有安裝聲卡,可以設(shè)置為FALSE.新增函數(shù):/初始化視頻BOOL WINAPI VCAInitVidDev();/初始化音頻BOOL WINAPI VCAInitAudDev();2.1 數(shù)據(jù)常量介紹#define ERR_SUCCESS 0說(shuō)明:成功#define ERR_NODEVICEFOUND 1說(shuō)明:系統(tǒng)找不到VC404(SAA7134)設(shè)備#define ERR_UNSUPPORTFUNC 2 說(shuō)明:不支持的函數(shù) #define ERR_ALLOCRESOURCE 3說(shuō)明:分配資源錯(cuò)誤 #define ERR_INITDIRECTDRAW 4 error說(shuō)明:

5、初始化Directdraw錯(cuò)誤#define ERR_INITDIRECTSOUND 5說(shuō)明:初始化Directsound錯(cuò)誤2.2 數(shù)據(jù)結(jié)構(gòu)介紹typedef enumRGB32 = 0x0,RGB24 = 0x1,RGB16 = 0x2,RGB15 = 0x3,YUY2 = 0x4,BTYUV = 0x5,Y8 = 0x6,RGB8 = 0x7,PL422 = 0x8,PL411 = 0x9,YUV12 = 0xA,YUV9 = 0xB,RAW = 0xECOLORFORMAT;說(shuō)明:視頻預(yù)覽和視頻捕捉數(shù)據(jù)流格式,系統(tǒng)目前這版本只支持YUY2格式typedef enum BRIGHTNES

6、S = 0, CONTRAST = 1, SATURATION = 2, HUE = 3, SHARPNESS = 4, COLORCONTROL;說(shuō)明:視頻預(yù)覽及視頻捕獲的顯示屬性,其中:BRIGHTNESS 為亮度,value范圍:0 255, 最佳:80CONTRAST 為對(duì)比度,value范圍: -128 127 最佳:0x44SATURATION 為飽和度,value范圍: -128 127 最佳:0x40HUE 為色度,value范圍: -128 127 最佳:0x0只有當(dāng)COLORDEVICETYPE等于COLOR_DECODER時(shí)HUE才有效。SHARPNESS 為銳度,val

7、ue范圍:-8 7 最佳:0x0只有當(dāng)COLORDEVICETYPE等于COLOR_DECODER時(shí)SHARPNESS才有效。typedef enum COLOR_DECODER = 0,COLOR_PREVIEW = 1, COLOR_CAPTURE = 2 COLORDEVICETYPE;說(shuō)明:顯示設(shè)備的顯示屬性,其中:COLOR_DECODER為解碼器的顯示屬性,它會(huì)影響視頻預(yù)覽和視頻捕獲的顯示屬性COLOR_PREVIEW為視頻預(yù)覽的顯示屬性COLOR_CAPTURE 為視頻捕獲的顯示屬性typedef enumCAP_NULL_STREAM = 0, CAP_ORIGIN_STREA

8、M = 1,CAP_MPEG4_STREAM = 2CAPMODEL;說(shuō)明:音視頻捕獲方式,其中:CAP_NULL_STREAM 捕獲無(wú)效CAP_ORIGIN_STREAM捕獲為原始流回調(diào)CAP_MPEG4_STREAM捕獲為MPEG4typedef enumMPEG4_AVIFILE_ONLY = 0, MPEG4_CALLBACK_ONLY = 1, MPEG4_AVIFILE_CALLBACK =2MP4MODEL;說(shuō)明:音視頻MPEG4捕獲方式,只有CAPMODEL等于CAP_MPEG4_STREAM時(shí)有效,其中:MPEG4_AVIFILE_ONLY 存為MPEG4文件MPEG4_CA

9、LLBACK_ONLY MPEG數(shù)據(jù)回調(diào)MPEG4_AVIFILE_CALLBACK 存為MPEG文件并回調(diào)typedef enum FIELD_FREQ_50HZ = 0,FIELD_FREQ_60HZ = 1,FIELD_FREQ_0HZ = 2eFieldFrequency;說(shuō)明:視頻源的輸入頻率,其中:FIELD_FREQ_50HZ 50HZ,絕對(duì)多數(shù)為PAL制式FIELD_FREQ_60HZ 60HZ, 絕對(duì)多數(shù)為NTSC制式FIELD_FREQ_0HZ 無(wú)信號(hào)typedef enum HIGH_VOLTAGE = 0, LOW_VOLTAGE = 1eVOLTAGELEVEL;說(shuō)明

10、:電平狀態(tài),其中:HIGH_VOLTAGE 高電平LOW_VOLTAGE 低電平2.3 SDK導(dǎo)出函數(shù)說(shuō)明:VC4000/VC8000/VC404P公有函數(shù):1、typedef void (CALLBACK *PrcCbMotionDetect)( DWORD dwCard, BOOL bMove, BYTE *pbuff, DWORD dwSize, LPVOID lpContext )說(shuō)明: 動(dòng)態(tài)檢測(cè)回調(diào).參數(shù): dwCard: 返回的卡號(hào).bMove: TRUE:檢測(cè)到物體移動(dòng)開(kāi)始,F(xiàn)ALSE: 檢測(cè)到物體移動(dòng)結(jié)束。pbuff: 原始數(shù)據(jù)的指針dwSize: 原始數(shù)據(jù)緩沖區(qū)大小,單位字節(jié)

11、LpContext: 監(jiān)測(cè)上下文如果VCAEnableMotionDetect 參數(shù)nPersistTime = 1;則回調(diào)運(yùn)動(dòng)檢測(cè)地圖。取消(開(kāi)始、停止)回調(diào)。bMove將無(wú)效。如果VCAEnableMotionDetect 參數(shù)nPersistTime != 1;則回調(diào)開(kāi)始、停止運(yùn)動(dòng)檢測(cè);取消回調(diào)運(yùn)動(dòng)檢測(cè)地圖。pbuff、dwSize將無(wú)效。返回值:無(wú)2、typedef void (CALLBACK *PrcVidCapCallBack)(DWORD dwCard, BYTE *pbuff, DWORD dwSize)說(shuō)明: 視頻捕獲原始數(shù)據(jù)回調(diào).參數(shù): dwCard: 返回的卡號(hào).Pbu

12、ff: 視頻原始數(shù)據(jù)的指針dwSize: 視頻原始數(shù)據(jù)緩沖區(qū)大小,單位字節(jié)返回值:無(wú)3、typedef void (CALLBACK *PrcVidMpegCallBack)(DWORD dwCard, BYTE *pbuff, DWORD dwSize,BOOL isKeyFrm)說(shuō)明: 視頻MPEG壓縮數(shù)據(jù)回調(diào).參數(shù): dwCard: 返回的卡號(hào).Pbuff: 視頻MPEG數(shù)據(jù)的指針dwSize: 視頻MPEG數(shù)據(jù)緩沖區(qū)大小,單位字節(jié)isKeyFrm: 是否使用關(guān)鍵幀返回值:無(wú)4、typedef void (CALLBACK *PrcAudCapCallBack)(DWORD dwCard

13、, BYTE *pbuff,DWORD dwSize)說(shuō)明: 音頻捕獲原始數(shù)據(jù)回調(diào).參數(shù): dwCard: 返回的卡號(hào).Pbuff: 音頻原始數(shù)據(jù)的指針dwSize: 音頻原始數(shù)據(jù)緩沖區(qū)大小,單位字節(jié)返回值:無(wú)5、typedef void (CALLBACK *PrcAudMpegCallBack)(DWORD dwCard, BYTE *pbuff,DWORD dwSize)說(shuō)明: 音頻MPEG壓縮數(shù)據(jù)回調(diào).參數(shù): dwCard: 返回的卡號(hào).Pbuff: 音頻MPEG數(shù)據(jù)的指針dwSize: 音頻MPEG數(shù)據(jù)緩沖區(qū)大小,單位字節(jié)返回值:無(wú)6、typedef void (CALLBACK *

14、PrcIoAlertCallBack)(DWORD dwCard)說(shuō)明: IO報(bào)警回調(diào).參數(shù): dwCard:返回的卡號(hào).返回值:無(wú)7、typedef void (CALLBACK* PrcVidMpegPorCallBack)( DWORD dwCard, BOOL* pPorcess)說(shuō)明: 視頻Mpeg處理回調(diào).參數(shù): dwCard:返回的卡號(hào).pPorcess: 設(shè)置為T(mén)RUE 表示當(dāng)前幀壓縮;返回為FALSE 表示丟掉當(dāng)前幀.返回值:無(wú)8、typedef void (CALLBACK* PrcAudMpegPorCallBack)(DWORD dwCard, BOOL* pPorce

15、ss)說(shuō)明: 音頻Mpeg處理回調(diào).參數(shù): dwCard:返回的卡號(hào).pPorcess: 設(shè)置為T(mén)RUE 表示當(dāng)前音頻包壓縮;返回為FALSE 表示丟掉當(dāng)前音頻包.返回值:無(wú)9、BOOL WINAPI VCARegVidCapCallBack( DWORD dwCard, PrcVidCapCallBack ppCall )說(shuō)明: 注冊(cè)視頻捕獲原始數(shù)據(jù)回調(diào).參數(shù): dwCard: 卡號(hào).ppCall: 需要注冊(cè)的回調(diào)函數(shù)指針?lè)祷刂担篢RUE: 成功 FALSE: 失敗.10、BOOL WINAPI VCARegVidMpegCallBack( DWORD dwCard, PrcVidMpegC

16、allBack ppCall )說(shuō)明: 注冊(cè)視頻MPEG壓縮數(shù)據(jù)回調(diào).參數(shù): dwCard: 卡號(hào).ppCall: 需要注冊(cè)的回調(diào)函數(shù)指針?lè)祷刂担篢RUE: 成功 FALSE: 失敗.11、BOOL WINAPI VCARegAudCapCallBack( DWORD dwCard, PrcAudCapCallBack ppCall )說(shuō)明: 注冊(cè)音頻捕獲原始數(shù)據(jù)回調(diào).參數(shù): dwCard: 卡號(hào).ppCall: 需要注冊(cè)的回調(diào)函數(shù)指針?lè)祷刂担篢RUE: 成功 FALSE: 失敗.12、BOOL WINAPI VCARegAudMpegCallBack( DWORD dwCard, PrcAu

17、dMpegCallBack ppCall )說(shuō)明: 注冊(cè)音頻MPEG壓縮數(shù)據(jù)回調(diào).參數(shù): dwCard: 卡號(hào).ppCall: 需要注冊(cè)的回調(diào)函數(shù)指針?lè)祷刂担篢RUE: 成功 FALSE: 失敗.13、void WINAPI VCASetLastError(DWORD dwError)說(shuō)明: 設(shè)置錯(cuò)誤序號(hào).參數(shù): dwError:錯(cuò)誤序號(hào).返回值:無(wú)14、BOOL WINAPI VCAEnableMotionDetect( DWORD dwCard, BOOL bEnaDetect, BYTE *pAreaMap, LONG nSizeOfMap, LONG nPersistTime, LPV

18、OID lpContext, PrcCbMotionDetect OnObjectMove )說(shuō)明: 設(shè)置錯(cuò)誤序號(hào).參數(shù): dwCard: 操作卡號(hào). bEnaDetect:是否允許動(dòng)態(tài)檢測(cè). pAreaMap:運(yùn)動(dòng)檢測(cè)地圖 nSizeOfMap:pAreaMap尺寸,以BYTE為單位 nPersistTime:物體持續(xù)nPersistTime秒不動(dòng)則認(rèn)為停止 1-30s ,如果nPersistTime = 1;則回調(diào)運(yùn)動(dòng)檢測(cè)地圖。取消(開(kāi)始、停止)回調(diào).lpContext: 監(jiān)測(cè)上下文.OnObjectMove:運(yùn)動(dòng)/停止回調(diào)函數(shù).返回值:無(wú)15、DWORD WINAPI VCAGetLas

19、tError()說(shuō)明:得到錯(cuò)誤序號(hào).返回值:錯(cuò)誤序號(hào)16、BOOL WINAPI VCAInitSdk( HWND hWndMain, BOOL bInitVidDev = TRUE, BOOL bInitAudDev = TRUE )說(shuō)明: 初始化系統(tǒng)資源.參數(shù): hWndMain:Overlay窗口句柄(參閱VCAUpdateOverlayWnd參數(shù)hOverlayWnd含義)返回值:TRUE: 成功 FALSE: 失敗.參數(shù): bInitVidDev返回值:TRUE: 初始化視頻設(shè)備FALSE: 不初始化視頻設(shè)備此時(shí)視頻設(shè)備可以進(jìn)行視頻數(shù)據(jù)回調(diào)但是不能視頻預(yù)覽參數(shù): bInitAudDe

20、v返回值:TRUE: 初始化音頻設(shè)備FALSE: 不初始化音頻設(shè)備17、void WINAPI VCAUnInitSdk ()說(shuō)明: 釋放系統(tǒng)資源.參數(shù): 無(wú).返回值:無(wú)18、LONG WINAPI VCAGetDevNum()說(shuō)明: 返回系統(tǒng)當(dāng)中卡號(hào)數(shù)量,即為SAA7134硬件數(shù)目,為0時(shí)表示沒(méi)有設(shè)備存在.參數(shù): 無(wú)返回值:系統(tǒng)中已經(jīng)安裝好的SAA7134數(shù)量.19、BOOL WINAPI VCAOpenDevice(DWORD dwCard, HWND hPreviewWnd)說(shuō)明: 打開(kāi)指定卡號(hào)的設(shè)備,分配相應(yīng)系統(tǒng)資源參數(shù): dwCard:卡號(hào).HPreviewWnd: 指定卡號(hào)將要視頻

21、預(yù)覽的窗口句柄.返回值:TRUE: 成功FALSE: 失敗.備注: 系統(tǒng)將自動(dòng)給定傳入子窗口的大小來(lái)顯示視頻.20、BOOL WINAPI VCACloseDevice(DWORD dwCard)說(shuō)明: 關(guān)閉指定卡號(hào)的設(shè)備,釋放相應(yīng)系統(tǒng)資源.參數(shù): dwCard:卡號(hào).返回值:TRUE: 成功FALSE: 失敗.21、BOOL WINAPI VCAStartVideoPreview(DWORD dwCard)說(shuō)明: 開(kāi)始視頻預(yù)覽.參數(shù): dwCard:卡號(hào).返回值:TRUE: 成功FALSE: 失敗.22、BOOL WINAPI VCAStopVideoPreview(DWORD dwCard

22、)說(shuō)明: 停止視頻預(yù)覽.參數(shù): dwCard:卡號(hào).返回值:TRUE: 成功FALSE: 失敗.23、BOOL WINAPI VCAUpdateVideoPreview(DWORD dwCard, HWND hPreviewWnd)說(shuō)明: 更新視頻預(yù)覽。參數(shù): dwCard:卡號(hào).hPreviewWnd:新的預(yù)覽窗口句柄.返回值:TRUE: 成功.FALSE: 失敗.備注: 用戶改變?cè)摯翱诘拇笮』蜻@路視頻希望顯示到其它窗口的情況下,一般先調(diào)用VCAUpdateOverlayWnd()函數(shù),然后再調(diào)用本函數(shù)。 24、BOOL WINAPI VCAUpdateOverlayWnd(HWND hOv

23、erlayWnd);說(shuō)明:更新overlay窗口,當(dāng)overlay窗口句柄改變或尺寸、位置改變時(shí)調(diào)用,overlay窗口就是包含多路顯示小窗口的大窗口。overlay窗口必須有一個(gè),多路顯示小窗口必須包含在其內(nèi)部。參數(shù): hOverlayWnd: 包含多路顯示小窗口的大窗口返回值:TRUE: 成功.FALSE: 失敗. 25、BOOL WINAPI VCASaveBitsToBuf( DWORD dwCard, PVOID pDestBuf, DWORD& dwWidth, DWORD& dwHeight )說(shuō)明: 保存快照數(shù)據(jù)到相應(yīng)的緩沖區(qū).參數(shù): dwCard:卡號(hào).pDestBuf:緩沖

24、區(qū)的指針.dwWidth: 返回圖像的寬度.dwHeight: 返回圖像的高度.返回值:TRUE: 成功FALSE: 失敗.26、BOOL WINAPI VCASaveAsJpegFile ( DWORD dwCard, LPCTSTR lpFileName, DWORD dwQuality = 100 )說(shuō)明: 保存快照為JPEG文件.參數(shù): dwCard:卡號(hào).lpFileName:所需的文件名稱及路徑.DwQuality: JPEG文件質(zhì)量,范圍:1100返回值:TRUE: 成功FALSE: 失敗.27、BOOL WINAPI VCASaveAsBmpFile( DWORD dwCard

25、, LPCTSTR lpFileName )說(shuō)明: 保存快照為BMP文件.參數(shù): dwCard:卡號(hào).pDestBuf:所需的文件名稱及路徑.返回值:TRUE: 成功FALSE: 失敗.28、BOOL WINAPI VCAStartVideoCapture(DWORD dwCard, CAPMODEL enCapMode,MP4MODEL enMp4Mode,LPCTSTR lpFileName)說(shuō)明: 開(kāi)始視頻捕獲.參數(shù): dwCard:卡號(hào). lpFileName:所需的文件名稱及路徑.enCapMode: 選擇流捕捉模式.enMp4Mode: MPEG壓縮模式,只有enCapMode等于

26、CAP_MPEG4_STREAM時(shí)enMp4Mode才有效. 返回值:TRUE 成功,FALSE 失敗29、BOOL WINAPI VCAStopVideoCapture( DWORD dwCard )說(shuō)明: 停止視頻捕獲.參數(shù): dwCard:卡號(hào).返回值:TRUE 成功FALSE. 失敗30、BOOL WINAPI VCASetVidCapSize(DWORD dwCard, DWORD dwWidth, DWORD dwHeight)說(shuō)明: 設(shè)置視頻捕獲尺寸.dwWidth和dwHeight最好為16的倍數(shù),否則,動(dòng)態(tài)檢測(cè)為16*16一個(gè)檢測(cè)小塊,檢測(cè)將會(huì)不準(zhǔn)確。參數(shù): dwCard:卡

27、號(hào). dwWidth:捕獲寬度. DwHeight:捕獲高度.返回值:TRUE 成功 FALSE 失敗31、BOOL WINAPI VCAGetVidCapSize(DWORD dwCard, DWORD &dwWidth, DWORD &dwHeight)說(shuō)明: 得到視頻捕獲尺寸.參數(shù): dwCard:卡號(hào). dwWidth:捕獲寬度. DwHeight:捕獲高度.返回值:TRUE 成功 FALSE 失敗32、BOOL WINAPI VCASetVidCapFrameRate( DWORD dwCard, DWORD dwFrameRate, BOOL bFrameRateReduction

28、 = FALSE )說(shuō)明: 設(shè)置視頻捕獲幀率PAL顯示幀率始終為25,NTSC顯示幀率始終為30PAL捕獲幀率最大為25,NTSC捕獲幀率最大為30參數(shù): dwCard: 卡號(hào). dwFrameRate:捕獲幀率.bFrameRateReduction: 保留返回值: TRUE 成功FALSE 失敗備注: PAL最大幀率為25,NTSC最大幀率為3033、BOOL WINAPI VCASetBitRate( DWORD dwCard, DWORD dwBitRate)說(shuō)明: 設(shè)置MPEG壓縮的位率.參數(shù): dwCard: 卡號(hào). dwBitRate: MPEG壓縮的位率.范圍56KBPS 10

29、MBPS返回值:TRUE 成功FALSE 失敗34、BOOL WINAPI VCASetKeyFrmInterval( DWORD dwCard, DWORD dwKeyFrmInterval)說(shuō)明: 設(shè)置MPEG壓縮的關(guān)鍵幀間隔,必須大于等于幀率.參數(shù): dwCard: 當(dāng)前操作的卡號(hào). dwKeyFrmInterval: MPEG壓縮的關(guān)鍵幀間隔.返回值:TRUE 成功FALSE 失敗35、BOOL WINAPI VCASetXVIDQuality( DWORD dwCard, DWORD dwQuantizer, DWORD dwMotionPrecision)說(shuō)明: 設(shè)置MPEG4_X

30、VID壓縮的質(zhì)量參數(shù): dwCard: 當(dāng)前操作的卡號(hào). dwQuantizer: 1 31 (1為最小量度,壓縮質(zhì)量最好);dwMotionPrecision: 0 6 (0最小運(yùn)動(dòng)精度)返回值:TRUE 成功FALSE 失敗36、BOOL WINAPI VCASetXVIDCompressMode( DWORD dwCard, COMPRESSMODE enCompessMode )說(shuō)明: 設(shè)置MPEG4_XVID壓縮的模式參數(shù): dwCard: 當(dāng)前操作的卡號(hào). enCompessMode: 壓縮模式;返回值:TRUE 成功 FALSE 失敗37、BOOL WINAPI VCASetVi

31、dDeviceColor( DWORD dwCard, COLORCONTROL enCtlType, DWORD dwValue )說(shuō)明: 設(shè)置視頻顏色屬性,它將影響視頻預(yù)覽和視頻捕獲的顯示屬性.參數(shù): dwCard:卡號(hào).EnCtlType:顏色類型.DwValue:顏色屬性的值.返回值:TRUE: 成功FALSE: 失敗. 38、BOOL WINAPI VCAGetVidFieldFrq( DWORD dwCard, eFieldFrequency &eVidSourceFieldRate )說(shuō)明: 得到視頻源輸入頻率,即可得到視頻源輸入制式,參考eVidSourceFieldRate類

32、型說(shuō)明參數(shù): dwCard: 卡號(hào). eVidSourceFieldRate:視頻源輸入頻率.返回值: TRUE: 成功FALSE: 失敗.39、BOOL WINAPI VCAStartAudioCapture(DWORD dwCard,CAPMODEL enCapMode,MP4MODEL enMp4Mode)說(shuō)明: 開(kāi)始音頻捕獲.參數(shù): dwCard:卡號(hào). lpFileName:所需的文件名稱及路徑.enCapMode: 選擇流捕捉模式.enMp4Mode: MPEG壓縮模式,只有enCapMode等于CAP_MPEG4_STREAM時(shí)enMp4Mode才有效.返回值:TRUE 成功,

33、FALSE 失敗備注: 1、當(dāng)音頻enCapMode 等于 CAP_MPEG4_STREAM 時(shí),視頻捕獲必須比音頻捕獲先運(yùn)行,而且視頻enCapMode 必須等于CAP_MPEG4_STREAM,2、當(dāng)音頻enMp4Mode 等于 MPEG4_AVIFILE_ONLY或MPEG4_AVIFILE_CALLBACK時(shí),視頻enMp4Mode 必須等于 MPEG4_AVIFILE_ONLY或MPEG4_AVIFILE_CALLBACK.3.音頻原始數(shù)據(jù)頻率為32KHZ.40、BOOL WINAPI VCAStopAudioCapture( DWORD dwCard )說(shuō)明:停止音頻捕獲。參數(shù):d

34、wCard: 卡號(hào).返回:TRUE: 成功FALSE: 失敗備注:當(dāng)dwCard = 100 時(shí),為靜音;開(kāi)始音頻捕獲時(shí)有效.41、BOOL WINAPI VCASetAudioCardOutOn ( DWORD dwCard )說(shuō)明:停在音頻捕獲。參數(shù):dwCard: 卡號(hào).返回:TRUE: 成功ALSE: 失敗備注:當(dāng)音頻enCapMode 等于 CAP_MPEG4_STREAM時(shí),音頻捕獲必須比視頻捕獲先停止42、BOOL WINAPI VCASetVidCapTextOSD( DWORD dwCard, BOOL bEnableOSD, TCHAR* tcText, POINT ptT

35、opLeft, BOOL bTransparent, OSDPARAM* pOSDParm )說(shuō)明: 設(shè)置視頻文本疊加.參數(shù): dwCard: 卡號(hào). bEnableOSD: 是否允許疊加. tcText: 疊加文本.ptTopLeft:疊加位置.bTransparent:是否透明.pOSDParm:疊加參數(shù).返回值:TRUE: 成功ALSE: 失敗. 43、BOOL WINAPI VCASetVidCapDateTimeOSDParam( OSDPARAM* pOSDParm )說(shuō)明: 設(shè)置視頻時(shí)間、日期疊加參數(shù).參數(shù):pOSDParm: 疊加參數(shù).返回值:TRUE: 成功FALSE: 失敗

36、.44、BOOL WINAPI VCASetVidCapDateTimeOSD( DWORD dwCard, BOOL bEnableOSD, POINT& ptTopLeft, BOOL bTransparent)說(shuō)明: 設(shè)置視頻時(shí)間、日期疊加,在VCASetVidCapDateTimeOSDPARAM()函數(shù)設(shè)置后調(diào)用有效參數(shù): dwCard: 卡號(hào). bEnableOSD: 是否允許疊加. tcText: 疊加文本.ptTopLeft:疊加位置.bTransparent:是否透明.返回值:TRUE: 成功FALSE: 失敗.45、BOOL WINAPI VCAEnableVidMpegP

37、rocess( DWORD dwCard, BOOL bEnPorcess, PrcVidMpegPorCallBack ppCall )說(shuō)明: 允許視頻Mpeg處理回調(diào)參數(shù): dwCard: 卡號(hào). bEnablePorcess: 是否允許當(dāng)前視頻幀壓縮ppCall:視頻Mpeg處理回調(diào)函數(shù)返回值:TRUE: 成功FALSE: 失敗.46、BOOL WINAPI VCAEnableAudMpegProcess( DWORD dwCard, BOOL bEnPorcess, PrcAudMpegPorCallBack ppCall )說(shuō)明: 允許視頻Mpeg處理回調(diào)參數(shù): dwCard: 卡號(hào)

38、. bEnablePorcess: 是否允許當(dāng)前音頻包壓縮ppCall:音頻Mpeg處理回調(diào)函數(shù)返回值:TRUE: 成功FALSE: 失敗.47、BOOL WINAPI VCAGetDeviceID( DWORD dwCard, DWORD& dwDeviceID )說(shuō)明: 得到設(shè)備芯片ID參數(shù): dwCard: 卡號(hào). dwDeviceID: 待返回的芯片ID返回值:TRUE: 成功FALSE: 失敗.48、BOOL WINAPI VCAInitVidDev()說(shuō)明: 初始化視頻設(shè)備,當(dāng)視頻不顯示,只需視頻錄像或音頻處理時(shí)、或通過(guò)VCAInitSdk()函數(shù)已經(jīng)初始化完成可以不初始化。參數(shù):

39、 無(wú)返回值:TRUE: 成功FALSE: 失敗.49、BOOL WINAPI VCAIsE2C( DWORD dwCard, BOOL& bIsE2C )說(shuō)明: E2C判斷參數(shù): dwCard: 卡號(hào). bIsE2C: 待返回的判斷值返回值:TRUE: 成功FALSE: 失敗.50、BOOL WINAPI VCAGetE2C( DWORD dwCard, int iSubAddr, BYTE& ucData );說(shuō)明: 讀E2C參數(shù): dwCard: 卡號(hào). iSubAddr: 待讀取的E2C地址ucData: 待讀取的數(shù)據(jù)返回值:TRUE: 成功FALSE: 失敗.51、BOOL WINAP

40、I VCASetE2C( DWORD dwCard, int iSubAddr, BYTE& ucData );說(shuō)明: 寫(xiě)E2C參數(shù): dwCard: 卡號(hào). iSubAddr: 待寫(xiě)入的E2C地址ucData: 待寫(xiě)入的數(shù)據(jù)返回值:TRUE: 成功FALSE: 失敗.52、BOOL WINAPI VCACheckValidate( BYTE* pKey, BOOL& bSuccess )說(shuō)明: 檢驗(yàn)客戶信息參數(shù): pKey: 長(zhǎng)度為16 字節(jié),用戶加密Key值 bSuccess: 表示驗(yàn)證是否通過(guò)返回值:TRUE: 成功FALSE: 失敗.VC404P音頻處理函數(shù):1、BOOL WINAPI

41、 VCAInitAudDev( DWORD dwAudFreq = 32000 )說(shuō)明: 初始化音頻設(shè)備,是否初始化音頻設(shè)備用于聲音播放,當(dāng)不音頻不需要播放,只需音頻錄像或視頻處理時(shí)、或沒(méi)有安裝聲卡或通過(guò)VCAInitSdk()函數(shù)已經(jīng)初始化完成可以不初始化。參數(shù): dwAudFreq: 音頻播放頻率,默認(rèn)為32K,但有些主板因?yàn)槟承┰颍蟼鞯囊纛l頻率可能高于或低于32K,所以根據(jù)實(shí)際情況,傳入這個(gè)參數(shù)。.返回值:TRUE: 成功FALSE: 失敗.2、BOOL WINAPI VCARegAudCapCallBack( DWORD dwCard, PrcAudCapCallBack ppCa

42、ll )說(shuō)明: 注冊(cè)音頻捕獲原始數(shù)據(jù)回調(diào)參數(shù): dwCard: 卡號(hào).ppCall:音頻原始數(shù)據(jù)處理回調(diào)函數(shù)返回值:TRUE: 成功 FALSE: 失敗.3、BOOL WINAPI VCARegAudMpegCallBack( DWORD dwCard, PrcAudMpegCallBack ppCall )說(shuō)明: 注冊(cè)音頻MPEG壓縮數(shù)據(jù)回調(diào)參數(shù): dwCard: 卡號(hào).ppCall:音頻壓縮數(shù)據(jù)處理回調(diào)函數(shù)返回值:TRUE: 成功 FALSE: 失敗.4、BOOL WINAPI VCAStartAudioCapture( DWORD dwCard, CAPMODEL enCapMode,

43、MP4MODEL enMp4Mode );說(shuō)明: 開(kāi)始音頻捕獲,如果音頻捕獲方式為MPEG4,視頻捕獲MPEG4方式開(kāi)始時(shí),調(diào)用有效參數(shù): dwCard: 卡號(hào).enCapMode:捕獲模式enMp4Mode:音頻MPEG壓縮模式返回值:TRUE: 成功FALSE: 失敗.5、BOOL WINAPI VCAStopAudioCapture( DWORD dwCard )說(shuō)明: 停止音頻捕獲,如果音頻捕獲方式為MPEG4,視頻捕獲MPEG4方式開(kāi)始時(shí),調(diào)用有效參數(shù): dwCard: 卡號(hào).返回值:TRUE: 成功FALSE: 失敗.6、BOOL WINAPI VCAEnableAudMpegPr

44、ocess( DWORD dwCard, BOOL bEnPorcess, PrcAudMpegPorCallBack ppCall )說(shuō)明: 允許音頻Mpeg處理回調(diào)參數(shù): dwCard: 卡號(hào).bEnPorcess:是否允許ppCall: 音頻壓縮數(shù)據(jù)處理回調(diào)函數(shù)返回值:TRUE: 成功 FALSE: 失敗.7、BOOL WINAPI VCARegAudMpegCallBack( DWORD dwCard, PrcAudMpegCallBack ppCall )說(shuō)明: 注冊(cè)音頻MPEG壓縮數(shù)據(jù)回調(diào)參數(shù): dwCard: 卡號(hào).ppCall:音頻壓縮數(shù)據(jù)處理回調(diào)函數(shù)返回值:TRUE: 成功F

45、ALSE: 失敗.VC404P I/O處理函數(shù):1、BOOL WINAPI VCARegIoAlertCallBack( DWORD dwCard, PrcIoAlertCallBack ppCall )說(shuō)明: 注冊(cè)IO報(bào)警回調(diào).參數(shù): dwCard: 卡號(hào).ppCall: 需要注冊(cè)的回調(diào)函數(shù)指針?lè)祷刂担篢RUE: 成功FALSE: 失敗.2、BOOL WINAPI VCASetIOAlertLevelIn(DWORD dwCard, eVOLTAGELEVEL enCurrentLevel)說(shuō)明:設(shè)置IO輸入報(bào)警當(dāng)前電平。參數(shù):dwCard:卡號(hào)。enCurrentLevel: IO輸入電平

46、狀態(tài)返回:TRUE: 成功FALSE: 失敗3、BOOL WINAPI VCAStartIOAlertIn(DWORD dwCard, eVOLTAGELEVEL enSpringLevel)說(shuō)明:開(kāi)始IO輸入報(bào)警。參數(shù):dwCard: 卡號(hào). enSpringLevel:IO輸入觸發(fā)電平.返回:TRUE: 成功FALSE: 失敗4、BOOL WINAPI VCAStopIOAlertIn(DWORD dwCard)說(shuō)明:停止IO輸入報(bào)警.參數(shù):dwCard: 卡號(hào).返回:TRUE: 成功FALSE: 失敗5、BOOL WINAPI VCAIOAlertOut(DWORD dwCard, eV

47、OLTAGELEVEL enLevel)說(shuō)明:IO電平輸出。參數(shù):dwCard: 卡號(hào).EnLevel: IO電平輸出狀態(tài)。返回:TRUE 成功FALSE 失敗.一、函數(shù)調(diào)用框架圖及使用方法注:對(duì)于VC4000/VC8000 SDK調(diào)用,應(yīng)去掉框架圖中的音頻捕獲輸出及IO輸入輸出報(bào)警功能,相應(yīng)的回調(diào)及注冊(cè)回調(diào)函數(shù)也去掉。二、10MOONS VC 401P/404P SDK使用方法:1. 應(yīng)用程序的初始化:/ 如允許網(wǎng)傳,加上下面的兩句,7000為被客戶端訪問(wèn)的端口號(hào)MTALoadLibrary( 7000, WORK_AS_SERVER );MTASetRequestTimeOut( 1000

48、0 );if ( !VCAInitSdk( hWndMain ) ) / hWndMain為視頻顯示所在的窗口句柄/ VC404卡驅(qū)動(dòng)初始化失敗m_dwDevNum = VCAGetDevNum(); / 得到設(shè)備總數(shù)if ( !m_dwDevNum )/ VC404卡驅(qū)動(dòng)程序沒(méi)有安裝m_pDev = new DEVICE_INFO m_dwDevNum ;if ( !m_pDev )/ 系統(tǒng)初始化錯(cuò)誤for ( DWORD dwCard = 0; dwCard m_dwDevNum; dwCard + )/ 對(duì)m_pDevdwCard的成員賦初值,便于以后調(diào)用m_pDevdwCard.dwF

49、rameRate = 15;m_pDevdwCard.dwSwitchFreq = 0;m_pDevdwCard.dwBitRate = 256;m_pDevdwCard.dwKeyFrmInterval = 250;m_pDevdwCard.dwRealFrameRate = 0;/ 由于DEVICE_INFO結(jié)構(gòu)成員比較多,這里不一一列舉. ./ 按上文的設(shè)置打開(kāi)設(shè)備m_pDevdwCard.bOpen = VCAOpenDevice( dwCard, m_pDevdwCard.hWnd );/ 注冊(cè)設(shè)備的回調(diào)函數(shù)VCARegVidCapCallBack( dwCard, VCAPrcVi

50、dCapCallBack );VCARegVidMpegCallBack( dwCard, VCAPrcVidMpegCallBack );VCARegVidSaveErrCallBack( dwCard, VCAPrcVidSaveErrCallBack );/ 還有其他的一些回調(diào)函數(shù),這里不一一列舉. .2. 開(kāi)始視頻預(yù)覽:for( i = 0; i m_dwDevNum; i + )RECT rect;:GetWindowRect( m_pDevi.hWnd, &rect );VCASetVidPreviewSize( i, rect.right - rect.left, rect.bottom - rect.top );/ 第一次調(diào)用VCAStartVideoPreview(),以后用VCAUpdateVideoPreview()替換之VCAStartVideoPreview( i ); 3. 停止視頻預(yù)覽:if ( m_pDevm_dwDevID.bPrev )VCAStopVideoPreview( m_dwDevID );m_pDevm_dwDevID.bPrev = FALSE;4. 開(kāi)始視頻錄像:if ( m_pDevm_dwDevID.bOpen )/

溫馨提示

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

評(píng)論

0/150

提交評(píng)論