´ó»ªÍøÂçSDK±à³ÌÊÖ²á
VERSION 3.1.8(Build 070321)
2007-3-21
°æÈ¨ËùÓÐ ÇÖȨ±Ø¾¿
ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
ǰ ÑÔ
·Ç³£¸ÐлÄúʹÓÃÎÒÃǹ«Ë¾µÄÉ豸£¬ÎÒÃǽ«ÎªÄúÌṩ×îºÃµÄ·þÎñ¡£
±¾ÊÖ²á¿ÉÄܰüº¬¼¼ÊõÉϲ»×¼È·µÄµØ·½»òÓ¡Ë¢´íÎ󣬻¶ÓÖ¸Õý¡£ÎÒÃǽ«»á¶¨ÆÚ¸üÐÂÊÖ²áµÄÄÚÈÝ¡£
µÚ 2 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
ÐÞ¶©¼Ç¼
ÈÕÆÚ 2006-05-30 ´´½¨ 2006-7-3 ÐÞ¶©½Ó¿ÚÃèÊö 2006-7-5 2006-7-26 2006-8-10 2006-8-21 2006-8-23 2006-8-28 2006-9-15 2006-9-21 2006-9-29 ÐÞ¶©¸ÅÒªÃèÊö ÐÞ¶©½Ó¿ÚÃèÊö ͬ²½¸üнӿÚÃèÊö ÐÞ¶©½Ó¿ÚÃèÊö Ôö¼ÓµäÐ͵÷ÓÃ˳ÐòÃèÊö 3.0.0ÕûÀíÐÞ¶© ÐÞ¶©ÄÚÈÝ ÁÖ·å ·ë½ »ªÁ¢¸ß Áõ½Ü ³ÂÃÀÓ¢ ³ÂÃÀÓ¢ ³ÂÃÀÓ¢ ³ÂÃÀÓ¢ ³ÂÃÀÓ¢ ×÷Õß 3.0.5ͬ²½Ôö¼Ó»Øµ÷Êý¾ÝÀ©Õ¹½Ó¿Ú,¸üÐÂÔÆÌ¨¿ØÖƳÂÃÀÓ¢ ˵Ã÷ 3.0.7ͬ²½Ôö¼ÓµÇ¼À©Õ¹½Ó¿Ú ³ÂÃÀÓ¢ 3.0.9ͬ²½Ôö¼Ó´øÓÐÅäÖýṹµÄÅäÖù¦ÄܽӿÚ˵³ÂÃÀÓ¢ Ã÷ 2006-10-16 Ôö¼Óµ¥¶ÀÐÞ¸ÄͨµÀÃû³ÆµÄ½Ó¿Ú ÕÔ¾ùÊ÷ 2006-10-21 Ôö¼Ó´ò¿ªÊµÊ±Í¼ÏñµÄÀ©Õ¹½Ó¿Ú ÕÔ¾ùÊ÷ 2006-10-28 1¡¢Ôö¼Ó°´Ê±¼ä»Ø·ÅºÍÏÂÔØ½Ó¿Ú 2¡¢Ôö¼ÓÉ豸ÅäÖõĵÚÈý·½½ÓÈëºÍ»ñÈ¡É豸µÄÐòÁкŹ¦ÄÜ 2006-11-8 1¡¢´øÊý¾Ý»Øµ÷µÄ°´Ê±¼ä»Ø·ÅÀ©Õ¹½Ó¿Ú 2¡¢´øÊý¾Ý»Øµ÷µÄ°´Îļþ»Ø·ÅÀ©Õ¹½Ó¿Ú 3¡¢Ô¶³ÌÖØÆô½Ó¿Ú 4¡¢Â¼Ïñ»Ø·ÅÄܹ»²¥·ÅÒôƵ 2006-11-19 1¡¢½â¾öÁË·´¸´Ð޸ĵÚÈý·½µÄIPµØÖ·Ê±DVR±È½ÏÈÝÒ×ËÀ»úµÄÎÊÌâ 2¡¢Ôö¼Ó485½Ó¿Ú 3¡¢Í¨¹ýÍøÂçÐÞ¸ÄIPÅäÖÃʱDVRÖØÆô 2006-11-27 1¡¢Ôö¼ÓDDNS²éѯIPµÄ¹¦ÄÜ 2006-12-15 ÐÞÕýÎĵµÖнӿÚÃèÊöµÄ´íÎó,²¢Ôö¼ÓÁ´½Ó 2006-12-25 Ôö¼Ó²¢ÐÞ¸ÄÓïÒô¶Ô½²µÄ½Ó¿Ú 2006-12-29 Ôö¼ÓÓû§¹ÜÀí½Ó¿Ú 2007-1-17 ÕÔ¾ùÊ÷ ÕÔ¾ùÊ÷¡¢³ÂÇíÊ© ÕÔ¾ùÊ÷¡¢³ÂÇíÊ© ÕÔ¾ùÊ÷¡¢³ÂÇíÊ© ÕÔ¾ùÊ÷¡¢³ÂÇíÊ©¡¢ÁÖ¼áÑå Ò¶ºÆ¡¢³ÂÇíÊ© ÁÖ¼áÑå¡¢³ÂÇíÊ© 2007-2-8 ÐÞ¸ÄÁËCLIENT_LoginµÄ¹¦ÄÜÃèÊö ÁÖ¼áÑå¡¢ÕÔ¾ùÊ÷¡¢³ÂÔö¼ÓÁËCLIENT_FindFile¡¢ÇíÊ© CLIENT_FindNextFile¡¢CLIENT_FindClose ÁÖ¼áÑå¡¢³ÂÇíÊ©¡¢ Ôö¼ÓÁËÉ豸²ÎÊýÅäÖõÄÁ½¸ö½Ó¿Ú£ºÕÔ¾ùÊ÷ µÚ 3 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
CLIENT_GetDevConfig CLIENT_SetDevConfig 2007-3-7 ÐÞ¸ÄÁËCLIENT_StopListen½Ó¿ÚµäÐÍÓ¦ÓõıÊÎó Ôö¼ÓÁ˸ö²éѯ±¨¾¯×´Ì¬µÄ½Ó¿Ú¡£ Ôö¼ÓÁËÓïÒô¶Ô½²ÖеÄÒôƵ±àÂë½Ó¿Ú Ôö¼ÓÁËÀ©Õ¹±¨¾¯ÕìÌý½Ó¿Ú ÕÔ¾ùÊ÷ 2007-03-19 2007-03-21 ÁÖ¼áÑå¡¢³ÂÇíÊ© Ò¶ºÆ¡¢³ÂÇíÊ©¡¢ÁÖ¼áÑå µÚ 4 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
Ŀ ¼
1 ¼ò ½é ............................................................ 7 1.1 ¸ÅÊö ......................................................... 7 1.2 ÊÊÓÃÐÔ ....................................................... 7 1.3 ÌØÉ«¹¦ÄÜ ...................................................... 7 2 Éè¼ÆÔÔò ......................................................... 9 2.1 ±à³Ì˵Ã÷ ...................................................... 9 2.2 µäÐ͵÷ÓÃ˳Ðò ................................................. 10 3 Êý¾Ý½á¹¹¶¨Òå ..................................................... 13 3.1 ¿Í»§¶ËÊý¾Ý½á¹¹ ................................................ 13 3.1.1 É豸ÐÅÏ¢½á¹¹ ............................................. 16 3.1.2 ʱ¼äÐÅÏ¢ ................................................. 17 3.1.3 ¼ÏñÎļþÐÅÏ¢ ............................................. 17 3.1.4 É豸״̬ÐÅÏ¢ ............................................. 17 3.1.5 ϵͳÅäÖÃÐÅÏ¢½á¹¹ .......................................... 22 4 ½Ó¿Ú¶¨Òå ........................................................ 22 4.1 SDK³õʼ»¯ ................................................... 22 4.2 ״̬ÕìÌý ..................................................... 24 4.3 ×Ö·ûµþ¼Ó ..................................................... 26 4.4 É豸ע²á ..................................................... 27 4.5 ʵʱ¼àÊÓ ..................................................... 29 4.6 ÒôƵ¿ØÖÆ ..................................................... 32 4.7 Êý¾Ý±£´æ ..................................................... 33 4.8 ÊÓÆµ×¥Í¼ ..................................................... 36 4.9 »Ø·ÅºÍÏÂÔØ ................................................... 37 4.10 »Ø·Å¿ØÖÆ .................................................... 47 4.11 ÔÆÌ¨¿ØÖÆ .................................................... 50 4.12 ʵʱԤÀÀ .................................................... 52 4.13 ϵͳÅäÖà .................................................... 53 4.14 ÈÕÖ¾¹ÜÀí .................................................... 57 4.15 ͸Ã÷´®¿Ú .................................................... 59 4.16 Ô¶³Ì¿ØÖÆ .................................................... 61 4.17 ¼Ïñ¿ØÖÆ .................................................... 62 4.18 ϵͳʱ¼ä .................................................... 63 4.19 Óû§¹ÜÀí .................................................... 64
µÚ 5 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
4.20 ÓïÒô¶Ô½² .................................................... 66 4.21 ÂëÁ÷ͳ¼Æ .................................................... 71 4.22 IO¿ØÖÆ .................................................... 72 4.23 Ç¿ÖÆIÖ¡ ................................................... 73 4.24 ÉèÖÃÏÞÁ÷ .................................................... 73 4.25 »ñÈ¡É豸״̬ ................................................ 74 4.26 ÐÞ¸ÄͨµÀÃû³Æ ................................................ 75 4.27 DDNS²éѯIP ................................................ 75 4.28 É豸²ÎÊýÅäÖà ................................................ 76 5 ʾÀý¹¦ÄÜʵÏÖ ..................................................... 90 5.1 Á¬½ÓÉ豸 ..................................................... 90 5.2 ±¨¾¯ÐÅÏ¢»ñÈ¡ ................................................. 90 5.3 ϵͳÅäÖà ..................................................... 91 5.4 ʵʱ¼àÊÓ ..................................................... 91 5.5 Êý¾Ý±£´æ ..................................................... 91 5.6 »Ø·Å/ÏÂÔØºÍ½ø¶Èָʾ ........................................... 92 5.7 ²¥·Å¿ØÖÆ ..................................................... 92 5.8 Ô¤ÀÀ ........................................................ 92 5.9 ×Ö·ûµþ¼Ó ..................................................... 92
µÚ 6 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
1 ¼ò ½é
1.1 ¸ÅÊö
»¶ÓʹÓôó»ªÍøÂçSDK±à³ÌÊÖ²á£¬ÍøÂç¿Í»§¶ËÈí¼þ¿ª·¢°ü£¨DVR¿Í»§¶ËSDK£©ÊÇ´ó»ªÍøÂçÓ²Å̼Ïñ»ú¡¢ÍøÂçÊÓÆµ·þÎñÆ÷µÄÅäÌײúÆ·£¬±¾ÎĵµÏêϸÃèÊöÁË¿ª·¢°üÖи÷¸öº¯ÊýʵÏֵŦÄÜ¡¢½Ó¿Ú¼°Æäº¯ÊýÖ®¼äµÄµ÷ÓùØÏµºÍʾÀýʵÏÖ¡£
ÍøÂç¿Í»§¶ËÈí¼þ¿ª·¢°üÖ÷Òª°üÀ¨ÒµÎñ²Ù×÷ºÍÉ豸¹ÜÀíÁ½´ó²¿·Ö£º
ÒµÎñ²Ù×÷£º×´Ì¬ÕìÌý¡¢ÊµÊ±¼àÊÓ¡¢ÊµÊ±Ô¤ÀÀ¡¢×Ö·ûµþ¼Ó¡¢ÒôƵ¿ØÖÆ¡¢Â¼Ïñ»Ø·ÅºÍÏÂ
ÔØ¡¢Êý¾Ý±£´æ¡¢ÔÆÌ¨¿ØÖÆ¡¢ÓïÒô¶Ô½²¡¢Í¸Ã÷´®¿Ú¡¢ÂëÁ÷ͳ¼ÆµÈ¹¦ÄÜ¡£
É豸¹ÜÀí£ºÔ¶³ÌÉý¼¶¡¢Ô¶³ÌÖØÆô/¹Ø±Õ¡¢É豸²ÎÊýÅäÖã¨ÏµÍ³Í¨ÓÃÅäÖᢱ¨¾¯²¼/³··À
ÉèÖá¢Â¼ÏñÅäÖᢴ®¿ÚÅäÖá¢Í¼ÏñÅäÖá¢ÈÕÖ¾¹ÜÀí¡¢Óû§¹ÜÀí¡¢É豸Уʱ¡¢¶¯Ì¬¼ì²âÅäÖá¢ÍøÂçÅäÖ㩵ȹ¦ÄÜ¡£
¿ª·¢°üËù°üÀ¨µÄÎļþÓУº
ÍøÂç¿â£ºdhnetsdk.lib¡¢dhnetsdk.dll¡¢dhnetsdk.h
½âÂë¿â£ºdecode.dll¡¢render.dll¡¢dllh264.dll¡¢audiorecord.dll¡¢AudioRecordEx.dll¡¢
avcodec.dll
¸¨Öú¿â£ºdhdvr.dll¡¢ParaTimer.dll¡¢DetectAreaCtrl.ocx¡¢SetDeviceConfigProj.ocx
1.2 ÊÊÓÃÐÔ
? ? ? ?
Ö§³ÖËùÓдó»ªÍøÂçÓ²Å̼Ïñ»ú£¨DVR£©¡¢ÍøÂçÊÓÆµ·þÎñÆ÷£¨NVS£©¡¢ÍøÂ籨¾¯ ·þÎñÆ÷£¨NAS£©
Ö»Ö§³ÖTCPÍøÂç´«Êäģʽ
¿Í»§¶Ë¿ÉÒÔ²ÉÓöàÖÖ·Ö±æÂʽøÐÐͼÏñÔ¤ÀÀ£¬Ö§³ÖµÄ·Ö±æÂʰüÀ¨£º QCIF¡¢CIF¡¢2CIF¡¢¡¢HalfD1¡¢D1£¬VGA£¨640¡Á480£©µÈ
¿Í»§¶ËÖ§³Ö¶àÖÖͼÏñ±àÂ룬°üÀ¨MPEG4ºÍH.264µÈ
1.3 ÌØÉ«¹¦ÄÜ
Ö§³ÖÉ豸µÄÒÔÏÂÌØÉ«¹¦ÄÜ£º ? ¶à·ԤÀÀ
ÔÚÕ´øÌõ¼þÏ£¬Í¬Ê±¶à·ʵʱ¼àÊÓ¶Ô´ø¿íµÄÒªÇó±È½Ï¸ß£¬Ò»°ãµÄ´¦ÀíÇé¿öÓÐÁ½ÖÖ£¬ÆäÒ»£¬ÂÖѲ¡£Æä¶þ£¬¶à·ԤÀÀ¡£Ëùν¶à·ԤÀÀ£¬¾ÍÊÇÔÚÒ»¸öͨµÀÉϰÑËùÓÐͨµÀµÄÊý¾Ý×éÖ¯ÔÚÒ»Æð´«Ê䣬µÈͬÓÚ¶à·ͬʱ¼àÊÓ¡£±ØÒªµÄʱºò£¬¿ÉÒÔתµ¥Â·¼àÊÓ¡£´ó»ªDVRÖ§³Ö¶à·ԤÀÀ¹¦ÄÜ¡£ ? Ö§³Ö±ê×¼µÄMP4Êý¾Ý
Ò»°ãÇé¿öÏ£¬Í¬Ò»Æ½Ì¨¼¯³É²»Í¬³§É̵Äǰ¶ËÉ豸£¨ÈçDVR£©£¬ÓÉÓÚ¸÷³§É̲ÉÓõÄÊÓÆµÑ¹Ëõ·½·¨²»Í¬(°üÀ¨Ëã·¨¡¢²ÎÊý¶¨ÒåµÈ)£¬µ¼Ö½âÂë¶Ë»Ø·Å±ØÐë²ÉÓó§ÉÌÌØ¶¨µÄ¹¤
µÚ 7 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
¾ß£¬Ôì³Éƽ̨¿ª·¢ÉÌÎÞ·¨×Ô¶¨Òå²¥·Å±ê×¼¡£±¾SDKÄܹ»½â¾öÕâ¸öÎÊÌ⡣ͨ¹ýÌØ¶¨½Ó¿Ú£¬Ó¦Óòã¿ÉÒÔͨ¹ý±¾SDK»ñÈ¡±ê׼ýÌåÊý¾Ý£¨FOURCC(¡®D¡¯¡¢¡®I¡¯¡¢¡®V¡¯¡¢¡®X¡¯)ÊÓÆµÊý¾Ý£©£¬ÒªÖ§³ÖÓø÷ÖÖͨÓò¥·ÅÆ÷²¥·Å£¬ÓÐÁËÌṩ±ê×¼Êý¾Ý£¬Ó¦ÓòãÖ»Ðë´ò°ü±ê×¼Êý¾Ýµ½²¥·ÅÆ÷Ö§³ÖµÄÈÝÆ÷ÀàÐÍ(Ò²¾ÍÊÇÎļþ¸ñʽ,ÈçAVI±ê×¼)¾Í¿ÉÒÔÁË¡£
µÚ 8 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
2 Éè¼ÆÔÔò
2.1 ±à³Ì˵Ã÷
? ³õʼ»¯ºÍÇå³ý
1¡¢ ʹÓÃÍøÂç¿Í»§¶ËÈí¼þ°üÊ×Ïȵ÷ÓÃCLIENT_Init()¶Ôϵͳ½øÐгõʼ»¯£¬Ó¦ÓóÌÐò
Í˳öʱµ÷ÓÃCLIENT_Cleanup()ÊÍ·ÅËùÓÐÕ¼ÓõÄ×ÊÔ´¡£
2¡¢ ´ó¶àÊýº¯Êýµ÷ÓþùÓ¦¸ÃÔÚCLIENT_Init()Ö®ºó£¬CLIENT_Cleanup()֮ǰ£¬³ýÁË
ÉÙÊýº¯Êý£¬Æ©ÈçCLIENT_SetConnectTime()ÔÚCLIENT_Init()֮ǰµ÷Ó㬶øCLIENT_GetSDKVersion()¿ÉÒÔÔÚÈκÎʱºòµ÷Óõȵȡ£ ? ²Ù×÷¾ä±ú
ϵͳÉè¼ÆÉ϶ദʹÓÃÁ˾ä±ú¸ÅÄºÜ¶à²Ù×÷¾ùÕë¶Ô¾ä±ú£¬Èç»Ø·Å¡¢ÏÂÔØÒÔ¼°ÓïÒô¶Ô½²µÈ¡£ ? Óû§µÇ¼ºÍ×¢Ïú
Óû§ÔÚ·ÃÎÊǰ¶ËÉ豸֮ǰ±ØÐëͨ¹ýµ÷ÓÃCLIENT_Login ()µÇ¼µ½Ç°¶ËÉ豸ÉÏ£¬µÇ¼³É¹¦ºó·µ»ØÒ»¸öÈ«¾ÖΨһµÄ¾ä±ú¡£´Ë¾ä±ú¾ÍÏñÒ»¸ö»á»°Í¨µÀ£¬Ö®ºó¸ÃÓû§¿Éͨ¹ý´Ë¾ä±ú·ÃÎÊǰ¶ËÉ豸¡£Í˳ö¸Ã»á»°Ê±Ôòͨ¹ýCLIENT_Logout ()º¯ÊýÔÚǰ¶ËÉ豸ÉÏ×¢Ïú´Ë¾ä±úÒÔÖÕÖ¹¸Ã»á»°Í¨µÀµÄʹÓ᣽¨Á¢Á¬½ÓÓëµÇ¼ÊÇͬ²½µÄ¡£ ? ÐÄÌø¹¦ÄÜ
ÔÚ±¾¿ª·¢°üÖÐÌṩ×Ô¶¯ÐÄÌø¹¦ÄÜ£¨20ÃëÒ»´ÎÐÄÌø£©µ±É豸¶Ï¿ªÄܼ°Ê±»Øµ÷¸ø¿Í»§¶Ë¡£ ? ͬ²½ÓëÒì²½
Òì²½ÒÔÉèÖûص÷º¯ÊýÀ´ÏìÓ¦ÍøÂçÊý¾Ý£¬ÓÐЩÒì²½ÔÚÉèÖú󷵻ØÇëÇó¾ä±ú£¬½áÊøÇëÇóʱ½«ÇëÇó¾ä±úÌṩ¸øSDKÒÔ×¢ÏúÏà¹Ø×ÊÔ´¡£ ? SDKÌṩÐÒé̽²âºÍת»» ? »Øµ÷º¯Êý
Ò»°ã¶¼ÓÐdwUser²ÎÊý, ÓÉÓû§×Ô¶¨ÒåÐèÒªµÄÊý¾Ý, Ò»°ãÓÃÀ´´«ÈëÀà¶ÔÏóÖ¸Õë, ·½±ã»Øµ÷´¦ÀíÔÚÀàÖÐʵÏÖ,»Øµ÷Ó¦Óö¼¿ÉÒÔ²ÉÈ¡ÕâÖÖ·½Ê½¡£
µÚ 9 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
2.2 µäÐ͵÷ÓÃ˳Ðò
A. ³õʼ»¯
SDK³õʼ»¯ CLIENT_Init()
B. SDK¹¦ÄÜÉèÖûòÐÅÏ¢»ñÈ¡
ÉèÖÃÁ¬½ÓµÈ´ýʱ¼ä CLIENT_SetConnectTime() »ñÈ¡SDK°æ±¾ CLIENT_GetSDKVersion() ÉèÖÃÏûÏ¢»Øµ÷ CLIENT_SetDVRMessCallBack() ÉèÖÃ×Ô¶¨Òåµþ¼Ó»°å CLIENT_RigisterDrawFun()
C. µÇ¼Á¬½ÓÉ豸
µÇ¼É豸 CLIENT_Login() ¿ªÊ¼ÕìÌý CLIENT_StartListen()
D. É豸¹¦ÄܲÙ×÷ÓëÐÅÏ¢»ñÈ¡
ϵͳÅäÖà CLIENT_QueryConfig() CLIENT_SetupConfig() »ñÈ¡É豸״̬ CLIENT_GetDEVWorkState() »ñÈ¡ÐÒéÐÅÏ¢ CLIENT_QueryComProtocol() ²éѯ»ñȡϵͳÐÅÏ¢ CLIENT_QuerySystemInfo() ²éѯͨµÀÃû³Æ CLIENT_QueryChannelName() ²éѯÈÕÖ¾ CLIENT_QueryLogCallback() CLIENT_QueryLog() Óû§¹ÜÀí CLIENT_QueryUserInfo() CLIENT_OperateUserInfo() ÔÆÌ¨¿ØÖÆ CLIENT_PTZControl() CLIENT_DHPTZControl() ÓïÒô¶Ô½² CLIENT_StartTalk() CLIENT_SendTalkData_Custom() CLIENT_StopTalk() ÉèÖÃÏÞÁ÷ CLIENT_SetMaxFlux() ͸Ã÷´®¿Ú CLIENT_CreateTransComChannel() CLIENT_SendTransComData() CLIENT_DestroyTransComChanne()
µÚ 10 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
E. ʵʱ¼àÊÓͨµÀ
´ò¿ª¼àÊÓͨµÀ CLIENT_RealPlay() CLIENT_RealPlayEx() ±£´æ¼àÊÓͼÏñÊý¾Ý CLIENT_SaveRealData() ¼àÊÓÊý¾Ý»Øµ÷±£´æ CLIENT_SetRealDataCallBack() CLIENT_SetRealDataCallBackEx() »ñÈ¡ÊÓÆµ²ÎÊýÐÅÏ¢ CLIENT_ClientGetVideoEffect() ÉèÖÃÐÞ¸ÄÊÓÆµ²ÎÊý CLIENT_ClientSetVideoEffect() Ç¿ÖÆIÖ¡ CLIENT_MakeKeyFrame()
F. ¶à»ÃæÔ¤ÀÀͨµÀ
´ò¿ª¶à»ÃæÔ¤ÀÀ CLIENT_MultiPlay() Í£Ö¹¶à»ÃæÔ¤ÀÀ CLIENT_StopMultiPlay()
G. »Ø·Å/ÏÂÔØÍ¨µÀ
²éѯ¼Ïñ CLIENT_QueryRecordFile() »Ø·Å¼°¿ØÖÆ CLIENT_PlayBackByRecordFile() CLIENT_PlayBackByRecordFileEx() CLIENT_PlayBackByTime() CLIENT_PlayBackByTimeEx() CLIENT_GetPlayBackOsdTime() CLIENT_PausePlayBack() CLIENT_SeekPlayBack() CLIENT_StopPlayBack() CLIENT_StepPlayBack() CLIENT_FastPlayBack() CLIENT_SlowPlayBack() CLIENT_GetFramePlayBack() CLIENT_SetFramePlayBack() ÏÂÔØ CLIENT_DownloadByRecordFile() CLIENT_DownloadByRecordFileEx() CLIENT_DownloadByTime() CLIENT_StopDownload() CLIENT_GetDownloadPos()
µÚ 11 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
H. Õë¶ÔÏÔʾͼÏñµÄ²Ù×÷(¼àÊÓ/»Ø·Å/¶à»ÃæÔ¤ÀÀ)
ץͼ CLIENT_CapturePicture() ÂëÁ÷ͳ¼Æ CLIENT_GetStatiscFlux() ´ò¿ªÒôƵ CLIENT_OpenSound() ÉèÖÃÒôÁ¿ CLIENT_SetVolume()
I. Ô¶³Ì¿ØÖÆ
Ô¶³ÌÉý¼¶ CLIENT_StartUpgrade CLIENT_SendUpgrade CLIENT_StopUpgrade ¼Ïñ¿ØÖÆ CLIENT_QueryRecordState CLIENT_SetupRecordState ϵͳУʱ CLIENT_QueryDeviceTime CLIENT_SetupDeviceTime IO¿ØÖÆ CLIENT_QueryIOControlState CLIENT_IOControl
J. ×¢Ïú¶Ï¿ªÉ豸
Í£Ö¹ÕìÌý CLIENT_StopListen() ¶Ï¿ªÁ¬½Ó CLIENT_Logout()
K. ÊÍ·ÅSDK×ÊÔ´
SDKÍ˳ö CLIENT_Cleanup()
¶ÔD¡¢E¡¢F¡¢G¡¢H¡¢IÖеŦÄܴ󲿷ÖÖ®¼äûÓе÷ÓÃÏȺó˳Ðò,µ±È»¶Ôͬһ¸ö¹¦ÄÜ»¹ÊÇÓ¦¸Ã°´ÏÈ´ò¿ªÔÙ²Ù×÷×îºó¹Ø±ÕµÄ˳Ðò¡£
µÚ 12 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
3 Êý¾Ý½á¹¹¶¨Òå
3.1 ¿Í»§¶ËÊý¾Ý½á¹¹
? ͨÓÃÔÆÌ¨¿ØÖÆÃüÁî
typedef enum _PTZ_ControlType {
PTZ_UP_CONTROL = 0, PTZ_DOWN_CONTROL, PTZ_LEFT_CONTROL, PTZ_RIGHT_CONTROL, PTZ_ZOOM_ADD_CONTROL, PTZ_ZOOM_DEC_CONTROL, PTZ_FOCUS_ADD_CONTROL, PTZ_FOCUS_DEC_CONTROL, PTZ_APERTURE_ADD_CONTROL, PTZ_APERTURE_DEC_CONTROL, PTZ_POINT_MOVE_CONTROL, PTZ_POINT_SET_CONTROL, PTZ_POINT_DEL_CONTROL, PTZ_POINT_LOOP_CONTROL, PTZ_LAMP_CONTROL, }PTZ_ControlType;
//ÉÏ //Ï //×ó //ÓÒ //±ä±¶+ //±ä±¶- //µ÷½¹+ //µ÷½¹- //¹âȦ+ //¹âȦ-
//תÖÁÔ¤Öõã //ÉèÖà //ɾ³ý //µã¼äÂÖÑ //µÆ¹âÓêË¢
? ÔÆÌ¨¿ØÖÆÀ©Õ¹ÃüÁî
typedef enum _EXTPTZ_ControlType{ EXTPTZ_LEFTTOP = 0X20, EXTPTZ_RIGHTTOP , EXTPTZ_LEFTDOWN , EXTPTZ_RIGHTDOWN, EXTPTZ_ADDTOLOOP, EXTPTZ_DELFROMLOOP, EXTPTZ_CLOSELOOP, EXTPTZ_STARTPANCRUISE, EXTPTZ_STOPPANCRUISE, EXTPTZ_SETLEFTBORDER, EXTPTZ_RIGHTBORDER , EXTPTZ_STARTLINESCAN, EXTPTZ_CLOSELINESCAN,
// ×óÉÏ // ÓÒÉÏ // ×óÏÂ // ÓÒÏÂ
// ¼ÓÈëÔ¤Öõ㵽Ѳº½ Ѳº½Ïß· // ɾ³ýѲº½ÖÐÔ¤Öõã Ѳº½Ïß· // Çå³ýѲº½ Ѳº½Ïß· // ¿ªÊ¼Ë®Æ½Ðýת // ֹͣˮƽÐýת // ÉèÖÃ×ó±ß½ç // ÉèÖÃÓұ߽ç // ¿ªÊ¼Ïßɨ // Í£Ö¹Ïßɨ
Ô¤ÖõãÖµ Ô¤ÖõãÖµ
µÚ 13 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
EXTPTZ_SETMODESTART, EXTPTZ_SETMODESTOP, EXTPTZ_RUNMODE, EXTPTZ_STOPMODE, EXTPTZ_DELETEMODE, EXTPTZ_REVERSECOMM, EXTPTZ_FASTGOTO, EXTPTZ_AUXIOPEN, EXTPTZ_AUXICLOSE, EXTPTZ_OPENMENU = 0X36, EXTPTZ_CLOSEMENU , EXTPTZ_MENUOK, EXTPTZ_MENUCANCEL, EXTPTZ_MENUUP, EXTPTZ_MENUDOWN, EXTPTZ_MENULEFT, EXTPTZ_MENURIGHT, EXTPTZ_TOTAL, }EXTPTZ_ControlType;
// ÉèÖÃģʽ¿ªÊ¼ ģʽÏß· // ÉèÖÃģʽ½áÊø ģʽÏß· // ÔËÐÐģʽ ģʽÏß· // ֹͣģʽ ģʽÏß· // Çå³ýģʽ ģʽÏß· // ·×ªÃüÁî // ¿ìËÙ¶¨Î» Ë®Æ½×ø±ê ´¹Ö±×ø±ê // x34 ¸¨Öú¿ª¹Ø¿ª ¸¨Öúµã // 0x35¸¨Öú¿ª¹Ø¹Ø ¸¨Öúµã // ´ò¿ªÇò»ú²Ëµ¥ // ¹Ø±Õ²Ëµ¥ //²Ëµ¥È·¶¨ //²Ëµ¥È¡Ïû //²Ëµ¥ÉÏ //²Ëµ¥Ï //²Ëµ¥×ó //²Ëµ¥ÓÒ //×î´óÃüÁîÖµ
±ä±¶
? IO¿ØÖÆÃüÁî
typedef enum _IOTYPE{ ALARMINPUT = 1, ALARMOUTPUT = 2, }IOTYPE;
//±¨¾¯ÊäÈë //±¨¾¯Êä³ö
? ²éѯ״̬ÀàÐÍ
#define DH_DEVSTATE_COMM_ALARM #define DH_DEVSTATE_SHELTER_ALARM #define DH_DEVSTATE_RECORDING #define DH_DEVSTATE_DISK
0x0001 0x0002 0x0003 0x0004
//²éѯÆÕͨ±¨¾¯
//²éѯÕÚµ²±¨¾¯ //²éѯ¼Ïó״̬ //²éѯӲÅÌ״̬
? ´íÎóÀàÐÍ´úºÅ£¬ÓÃÓÚGetLastErrorº¯ÊýµÄ·µ»Ø
#define _EC(x)
(0x80000000|x) 0 -1 _EC(1) _EC(2) _EC(3)
//ûÓдíÎó //δ֪´íÎó
//Windowsϵͳ³ö´í //ÍøÂç´íÎó
//É豸ÐÒ鲻ƥÅä
#define NET_NOERROR #define NET_ERROR #define NET_SYSTEM_ERROR #define NET_NETWORK_ERROR #define NET_DEV_VER_NOMATCH
µÚ 14 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
#define NET_INVALID_HANDLE _EC(4) #define NET_OPEN_CHANNEL_ERROR _EC(5) #define NET_CLOSE_CHANNEL_ERROR _EC(6) #define NET_ILLEGAL_PARAM _EC(7) #define NET_SDK_INIT_ERROR _EC(8) #define NET_SDK_UNINIT_ERROR _EC(9) #define NET_RENDER_OPEN_ERROR _EC(10) #define NET_DEC_OPEN_ERROR _EC(11) #define NET_DEC_CLOSE_ERROR _EC(12) #define NET_MULTIPLAY_NOCHANNEL _EC(13) #define NET_TALK_INIT_ERROR _EC(14) #define NET_TALK_NOT_INIT _EC(15) #define NET_TALK_SENDDATA_ERROR _EC(16) #define NET_REAL_ALREADY_SAVING _EC(17) #define NET_NOT_SAVING _EC(18) #define NET_OPEN_FILE_ERROR _EC(19) #define NET_PTZ_SET_TIMER_ERROR _EC(20) #define NET_RETURN_DATA_ERROR _EC(21) #define NET_INSUFFICIENT_BUFFER _EC(22) #define NET_NOT_SUPPORTED _EC(23) #define NET_NO_RECORD_FOUND _EC(24) #define NET_NOT_AUTHORIZED _EC(25) #define NET_NOT_NOW _EC(26) #define NET_NO_TALK_CHANNEL _EC(27) #define NET_NO_AUDIO _EC(28) #define NET_AUDIOENCODE_NOTINI _EC(59) #define NET_DATA_TOOLONGH _EC(60) #define NET_LOGIN_ERROR_PASSWORD _EC(100) #define NET_LOGIN_ERROR_USER _EC(101) #define NET_LOGIN_ERROR_TIMEOUT _EC(102) #define NET_LOGIN_ERROR_RELOGGIN _EC(103) #define NET_LOGIN_ERROR_LOCKED _EC(104) #define NET_LOGIN_ERROR_BLACKLIST _EC(105) #define NET_LOGIN_ERROR_BUSY _EC(106) #define NET_LOGIN_ERROR_CONNECT _EC(107) #define NET_LOGIN_ERROR_NETWORK _EC(108) #define NET_RENDER_SOUND_ON_ERROR _EC(120) #define NET_RENDER_SOUND_OFF_ERROR _EC(121) #define NET_RENDER_SET_VOLUME_ERROR _EC(122) #define NET_RENDER_ADJUST_ERROR _EC(123) #define NET_RENDER_PAUSE_ERROR _EC(124) #define NET_RENDER_SNAP_ERROR _EC(125) #define NET_RENDER_STEP_ERROR _EC(126) //¾ä±úÎÞЧ //´ò¿ªÍ¨µÀʧ°Ü //¹Ø±ÕͨµÀʧ°Ü //Óû§²ÎÊý²»ºÏ·¨ //SDK³õʼ»¯³ö´í //SDKÇåÀí³ö´í
//ÉêÇërender×ÊÔ´³ö´í //´ò¿ª½âÂë¿â³ö´í //¹Ø±Õ½âÂë¿â³ö´í
//¶à»ÃæÔ¤ÀÀÖмì²âµ½Í¨µÀÊýΪ0 //¼Òô¿â³õʼ»¯Ê§°Ü //¼Òô¿âδ¾³õʼ»¯ //·¢ËÍÒôƵÊý¾Ý³ö´í
//ʵʱÊý¾ÝÒѾ´¦ÓÚ±£´æ×´Ì¬ //δ±£´æÊµÊ±Êý¾Ý //´ò¿ªÎļþ³ö´í
//Æô¶¯ÔÆÌ¨¿ØÖƶ¨Ê±Æ÷ʧ°Ü //¶Ô·µ»ØÊý¾ÝµÄУÑé³ö´í //ûÓÐ×ã¹»µÄ»º´æ
//µ±Ç°SDKδ֧³Ö¸Ã¹¦ÄÜ //²éѯ²»µ½Â¼Ïó //ÎÞ²Ù×÷ȨÏÞ //ÔÝʱÎÞ·¨Ö´ÐÐ //δ·¢ÏÖ¶Ô½²Í¨µÀ //δ·¢ÏÖÒôƵ
//ÒôƵ±àÂë½Ó¿ÚûÓгɹ¦³õʼ»¯ //Êý¾Ý¹ý³¤ //ÃÜÂë²»ÕýÈ· //ÕÊ»§²»´æÔÚ
//µÈ´ýµÇ¼·µ»Ø³¬Ê± //ÕʺÅÒѵǼ //ÕʺÅÒѱ»Ëø¶¨
//ÕʺÅÒѱ»ÁÐΪºÚÃûµ¥ //×ÊÔ´²»×㣬ϵͳæ //Á¬½ÓÖ÷»úʧ°Ü\//ÍøÂçÁ¬½Óʧ°Ü\
//Render¿â´ò¿ªÒôƵ³ö´í //Render¿â¹Ø±ÕÒôƵ³ö´í //Render¿â¿ØÖÆÒôÁ¿³ö´í //Render¿âÉèÖÃ»Ãæ²ÎÊý³ö´í //Render¿âÔÝÍ£²¥·Å³ö´í //Render¿âץͼ³ö´í //Render¿â²½½ø³ö´í
µÚ 15 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
#define NET_RENDER_FRAMERATE_ERROR _EC(127) //Render¿âÉèÖÃÖ¡Âʳö´í #define NET_CONFIG_DEVBUSY _EC(999) //ÔÝʱÎÞ·¨ÉèÖà #define NET_CONFIG_DATAILLEGAL _EC(1000) //ÅäÖÃÊý¾Ý²»ºÏ·¨
? »Øµ÷º¯ÊýÀàÐÍ
#define COMM_ALARM #define SHELTER_ALARM #define DISK_FULL_ALARM #define DISK_ERROR_ALARM #define SOUND_DETECT_ALARM
0x1100 0x1101 0X1102 0x1103 0x1104
//³£¹æ±¨¾¯ÐÅÏ¢
//ÊÓÆµÕÚµ²±¨¾¯ //Ó²ÅÌÂú±¨¾¯ //Ó²Å̹ÊÕϱ¨¾¯ //ÒôƵ¼ì²â±¨¾¯
? É豸ÐͺÅ(DVRÀàÐÍ)
enum NET_DEVICE_TYPE { NET_PRODUCT_NONE = 0, NET_DVR_NONREALTIME_MACE, NET_DVR_NONREALTIME, NET_NVS_MPEG1, NET_DVR_MPEG1_2, NET_DVR_MPEG1_8, NET_DVR_MPEG4_8, NET_DVR_MPEG4_16, NET_DVR_MPEG4_SX2, NET_DVR_MEPG4_ST2, NET_DVR_MEPG4_SH2, NET_DVR_MPEG4_GBE, NET_DVR_MPEG4_NVSII, NET_DVR_STD_NEW, NET_DVR_DDNS, };
// ·ÇʵʱMACE // ·Çʵʱ
// ÍøÂçÊÓÆµ·þÎñÆ÷ // MPEG1¶þ·¼Ïñ»ú // MPEG1°Ë·¼Ïñ»ú // MPEG4°Ë·¼Ïñ»ú // MPEG4Ê®Áù·¼Ïñ»ú // MPEG4ÊÓÐÂÊ®Áù·¼Ïñ»ú // MPEG4ÊÓͨ¼Ïñ»ú // MPEG4ÊÓºÀ¼Ïñ»ú
// MPEG4ÊÓͨ¶þ´úÔöÇ¿ÐͼÏñ»ú // MPEG4ÍøÂçÊÓÆµ·þÎñÆ÷II´ú // бê×¼ÅäÖÃÐÒé // DDNS·þÎñÆ÷
3.1.1 É豸ÐÅÏ¢½á¹¹
? É豸½á¹¹¶¨ÒåÈçÏÂ
typedef struct {
BYTE sSerialNumber[SERIALNO_LEN];
BYTE byAlarmInPortNum; BYTE byAlarmOutPortNum; BYTE byDiskNum; BYTE byDVRType;
//ÐòÁкÅ
//DVR±¨¾¯ÊäÈë¸öÊý //DVR±¨¾¯Êä³ö¸öÊý //DVRÓ²Å̸öÊý //DVRÀàÐÍ,
µÚ 16 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
BYTE byChanNum; } NET_DEVICEINFO, *LPNET_DEVICEINFO;
//DVRͨµÀ¸öÊý
3.1.2 ʱ¼äÐÅÏ¢
typedef struct {
DWORD dwYear; DWORD dwMonth; DWORD dwDay; DWORD dwHour; DWORD dwMinute; DWORD dwSecond; } NET_TIME,*LPNET_TIME;
//Äê //Ô //ÈÕ //ʱ //·Ö //Ãë
3.1.3 ¼ÏñÎļþÐÅÏ¢
typedef struct {
unsigned int ch; //ͨµÀºÅ char filename[128]; //ÎļþÃû unsigned int size; //Îļþ³¤¶È NET_TIME starttime; //¿ªÊ¼Ê±¼ä NET_TIME endtime; //½áÊøÊ±¼ä unsigned int driveno; //´ÅÅ̺Šunsigned int startcluster; //Æðʼ´ØºÅ } NET_RECORDFILE_INFO, *LPNET_RECORDFILE_INFO;
3.1.4 É豸״̬ÐÅÏ¢
? É豸¶Ëͨ¹ý»Øµ÷Ö÷¶¯ÉÏ´«µÄÉ豸״̬½á¹¹
typedef struct {
int channelcount; int alarminputcount;
unsigned char diskerror[MAX_DISKNUM]; unsigned char *record; //size:channelcount unsigned char *alarm; //size:alarminputcount unsigned char *motiondection; //size:channelcount unsigned char *videolost; //size:channelcount } NET_CLIENT_STATE;
µÚ 17 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
? ÒÔÏÂΪ²éѯµÄÉ豸¹¤×÷״̬µÄÏà¹Ø½á¹¹
typedef struct {
BYTE byRecordStatic; //ͨµÀÊÇ·ñÔÚ¼Ïñ,0-²»Â¼Ïñ,1-¼Ïñ BYTE bySignalStatic; //Á¬½ÓµÄÐźÅ״̬,0-Õý³£,1-ÐźŶªÊ§
BYTE byHardwareStatic; //ͨµÀÓ²¼þ״̬,0-Õý³£,1-Òì³£,ÀýÈçDSPËÀµô char reserve; //ÔÝʱÎÞЧ
DWORD dwBitRate; //ʵ¼ÊÂëÂÊ,ÔÝʱÎÞЧ
DWORD dwLinkNum; //¿Í»§¶ËÁ¬½ÓµÄ¸öÊý, ÔÝʱÎÞЧ DWORD dwClientIP[MAX_LINK]; //¿Í»§¶ËµÄIPµØÖ·,ÔÝʱÎÞЧ }NET_DEV_CHANNELSTATE,*LPNET_DEV_CHANNELSTATE; typedef struct {
DWORD dwVolume; //Ó²Å̵ÄÈÝÁ¿ DWORD dwFreeSpace; //Ó²Å̵ÄÊ£Óà¿Õ¼ä
DWORD dwStatus; //Ó²Å̵Ä״̬,ÐÝÃß,»î¶¯,²»Õý³£µÈ }NET_DEV_DISKSTATE,*LPNET_DEV_DISKSTATE; typedef struct{
DWORD dwDeviceStatic; //É豸״̬0x00 Õý³£,0x01 CPUÕ¼Óùý¸ß, 0x02 Ó²¼þ´íÎó NET_DEV_DISKSTATE stHardDiskStatic[MAX_DISKNUM]; //É豸ÔÝʱ²»Ö§³Ö NET_DEV_CHANNELSTATE stChanStatic[MAX_CHANNUM]; //ͨµÀµÄ״̬
BYTE byAlarmInStatic[MAX_ALARMIN]; //±¨¾¯¶Ë¿ÚµÄ״̬0-ÎÞ±¨¾¯,1-Óб¨¾¯
BYTE byAlarmOutStatic[MAX_ALARMOUT];//±¨¾¯Êä³ö¶Ë¿ÚµÄ״̬0-ÎÞÊä³ö,1-ÓÐÊä³ö DWORD dwLocalDisplay; //±¾µØÏÔʾ״̬0-Õý³£,1-²»Õý³£ }NET_DEV_WORKSTATE,*LPNET_DEV_WORKSTATE;
? ¼ÏñÎļþÐÅÏ¢
typedef struct {
unsigned int ch; //ͨµÀºÅ char filename[128]; //ÎļþÃû unsigned int size; //Îļþ³¤¶È NET_TIME starttime; //¿ªÊ¼Ê±¼ä NET_TIME endtime; //½áÊøÊ±¼ä unsigned int driveno; //´ÅÅ̺Šunsigned int startcluster; //Æðʼ´ØºÅ } NET_RECORDFILE_INFO, *LPNET_RECORDFILE_INFO;
µÚ 18 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
? ´®¿ÚÐÒéÐÅÏ¢(232ºÍ485)
typedef struct {
char protocolname[12]; unsigned int baudbase; unsigned char databits; unsigned char stopbits; unsigned char parity; unsigned char reserve;
} PROTOCOL_INFO, *LPPROTOCOL_INFO;
//ÐÒéÃû //²¨ÌØÂÊ //Êý¾Ýλ //ֹͣλ //УÑéλ
? ±¨¾¯IO¿ØÖÆ(±¨¾¯Êä³öºÍ±¨¾¯ÊäÈëʹÄÜ)
typedef struct {
unsigned short index; unsigned short state; }ALARM_CONTROL;
//¶Ë¿ÚÐòºÅ //¶Ë¿Ú״̬
? Óû§¹ÜÀí¹¦ÄÜÊý¾Ý½á¹¹
#define MAX_RIGHT_NUM #define MAX_GROUP_NUM #define MAX_USER_NUM #define RIGHT_NAME_LENGTH #define USER_NAME_LENGTH #define USER_PSW_LENGTH #define MEMO_LENGTH
100 20 200 32 8 8 32
typedef struct { DWORD dwID;
char name[RIGHT_NAME_LENGTH]; char memo[MEMO_LENGTH]; }OPR_RIGHT;
typedef struct { DWORD dwID;
DWORD dwGroupID;
char name[USER_NAME_LENGTH]; char passWord[USER_PSW_LENGTH]; DWORD dwRightNum;
DWORD rights[MAX_RIGHT_NUM]; char memo[MEMO_LENGTH]; }USER_INFO;
µÚ 19 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
typedef struct { DWORD dwID;
char name[USER_NAME_LENGTH]; DWORD dwRightNum;
DWORD rights[MAX_RIGHT_NUM]; char memo[MEMO_LENGTH]; }USER_GROUP_INFO;
? SDK·µ»ØµÄÓû§ÐÅÏ¢½á¹¹
typedef struct { DWORD OPR_RIGHT DWORD USER_GROUP_INFO DWORD USER_INFO }USER_MANAGE_INFO;
dwRightNum;
rightList[MAX_RIGHT_NUM]; dwGroupNum;
groupList[MAX_GROUP_NUM]; dwUserNum;
userList[MAX_USER_NUM];
? ÈÕÖ¾ÐÅÏ¢
1. ÈÕÖ¾µÄ½á¹¹ÐÎʽ //ʱ¼ä½á¹¹
typedef struct _DHTIME {
DWORD second :6; DWORD minute :6; DWORD hour :5; DWORD day :5; DWORD month :4; DWORD year :6; }DHTIME,*pDHTIME;
//ÈÕÖ¾½á¹¹
struct LOG_ITEM {
DHTIME time; WORD BYTE BYTE BYTE };
//ÈÕÆÚ
½Ó¿ÚÎĵµ Êý×ÖÊÓÆµÂ¼Ïñ»úÍøÂç·þÎñ±à³ÌÊÖ²á ¹«¿ª //ÀàÐÍ
//±ê¼Ç, 0x00 Õý³££¬0x01 À©Õ¹£¬0x02 Êý¾Ý //Êý¾Ý //ÄÚÈÝ
// Ãë // ·Ö // ʱ // ÈÕ // Ô // Äê 1-60 1-60 1-24 1-31 1-12 2000-2063
type; flag; data; context[8];
µÚ 20 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
2. ÈÕÖ¾µÄÀàÐÍ
enum dh_log_t {
LOG_REBOOT = 0x0000, LOG_SHUT,
LOG_CONFSAVE = 0x0100, LOG_CONFLOAD,
//system logs //config logs
LOG_FSERROR = 0x0200, //Îļþϵͳ´íÎó LOG_HDD_WERR, //Ó²ÅÌд´íÎó LOG_HDD_RERR, //Ó²Å̶Á´íÎó LOG_HDD_TYPE, //ÉèÖÃÓ²ÅÌÀàÐÍ LOG_HDD_FORMAT, //¸ñʽ»¯Ó²ÅÌ LOG_ALM_IN = 0x0300, //alarm logs //record
LOG_MANUAL_RECORD_START = 0x0400, LOG_MANUAL_RECORD_STOP, //user manager
LOG_LOGIN = 0x0500, LOG_LOGOUT, LOG_ADD_USER, LOG_DELETE_USER, LOG_MODIFY_USER, LOG_ADD_GROUP, LOG_DELETE_GROUP, LOG_MODIFY_GROUP, //clear
LOG_CLEAR = 0x0600, //record operation LOG_DOWNLOAD, LOG_PLAYBACK, LOG_TYPE_NR = 8, };
//¼ÏñÏÂÔØ //¼Ïñ»Ø·Å
3. Êý¾Ý×éÖ¯
Ïò¿Í»§¶Ë´«µÝËùÓÐÈÕÖ¾ÐÅÏ¢£¬³¤¶ÈΪN*ÈÕÖ¾½á¹¹³¤¶È£¬NΪÈÕÖ¾µÄÌõÊý¡£
? ²éѯӲÅÌÐÅÏ¢µÄ·µ»ØÊý¾Ý½á¹¹
typedef struct{
DWORD dwDiskNum; //Ó²Å̸öÊý
NET_DEV_DISKSTATE stDisks[DH_MAX_DISKNUM]; //¸÷Ó²ÅÌÐÅÏ¢ }DH_HARDDISK_STATE,*LPDH_HARDDISK_STATE;
µÚ 21 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
? ÒôƵÊý¾ÝµÄ¸ñʽ½á¹¹
Typedef struct{
BYTE byFormatTag; //±àÂëÀàÐÍ£¬0-PCM WORD nChannels; //ÉùµÀÊý WORD wBitsPerSample; //²ÉÑùÉî¶È DWORD nSamplesPerSec; //²ÉÑùÂÊ
} DH_AUDIO_FORMAT, *LPDH_AUDIO_FORMAT;
3.1.5 ϵͳÅäÖÃÐÅÏ¢½á¹¹
ĿǰÌṩÁËÅäÖÿؼþµÄ·½Ê½ÅäÖÃÉ豸
4 ½Ó¿Ú¶¨Òå
4.1 SDK³õʼ»¯
1.
CLIENT_API DWORD CALL_METHOD CLIENT_GetLastError(void);
? º¯Êý˵Ã÷£º·µ»Øº¯ÊýÖ´ÐÐʧ°Ü´úÂ룬µ±µ÷ÓÃÏÂÃæµÄ½Ó¿Úʧ°Üʱ£¬¿ÉÒÔÓøú¯
Êý»ñȡʧ°ÜµÄ´úÂ룬¾ßÌå´íÎó´úÂë²Î¼û´íÎóÀàÐÍ´úºÅ˵Ã÷ ? ²ÎÊý˵Ã÷£º ? ·µ»ØÖµ£º·µ»Ø ? Ïà¹Øº¯Êý£º
? µäÐÍÓ¦Ó㺲μÓdemo
typedef void (CALLBACK *fDisConnect)(LONG lLoginID, char *pchDVRIP, LONG nDVRPort, DWORD dwUser);
2. CLIENT_API BOOL CLIENT_Init(fDisConnect cbDisConnect,
DWORD dwUser); ? º¯Êý˵Ã÷£º³õʼ»¯SDK, ÔÚËùÓеÄSDKº¯Êý֮ǰµ÷Óà ? ²ÎÊý˵Ã÷£º
cbDisConnect
¶ÏÏ߻ص÷º¯Êý£¬»Øµ÷³öµ±Ç°ÍøÂçÒѾ¶Ï¿ªµÄÉ豸, ¶ÔÖ÷¶¯¶Ï¿ªµÄÉ豸²»»Øµ÷; ÉèÖÃΪ0ʱ½ûÖ¹»Øµ÷
dwUser
Óû§Êý¾Ý
µÚ 22 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
? »Øµ÷º¯Êý²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
pchDVRIP
É豸IP
nDVRPort
¶Ë¿Ú dwUser
Óû§Êý¾Ý£¬¾ÍÊÇÉÏÃæÊäÈëµÄÓû§Êý¾Ý
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬²»³É¹¦·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_Cleanup
? µäÐÍÓ¦ÓãºÔÚÓ¦ÓóÌÐò³õʼ»¯Ê±µ÷ÓÃ
3. ? ? ? ? ?
4.
CLIENT_API void CLIENT_SetConnectTime(int nWaitTime, int nTryTimes);
CLIENT_API void CLIENT_Cleanup();
º¯Êý˵Ã÷£ºÇå¿ÕSDK, ÊÍ·ÅÕ¼ÓõÄ×ÊÔ´£¬ÔÚËùÓеÄSDKº¯ÊýÖ®ºóµ÷Óᣠ²ÎÊý£ºÎÞ ·µ»ØÖµ£ºÎÞ
Ïà¹Øº¯Êý£ºCLIENT_Init
µäÐÍÓ¦ÓãºÔÚÓ¦ÓóÌÐò¹Ø±Õʱµ÷ÓÃ
? º¯Êý˵Ã÷£ºÉèÖÃÓëÉ豸µÄÁ¬½ÓµÈ´ýʱ¼ä
? µ÷ÓÃ˳ÐòÎ޹أ¬SDKĬÈÏֵΪ3000ms,¶ÔÍâÍøÒ»°ãÐèÒªÔö¼Óµ½5000ms,´ËÖµ
²»Ó°ÏìÉ豸Á¬½ÓËÙ¶È, Ö»Óе±ÍøÂç״̬²»ºÃʱÑÓ³¤µÈ´ýʱ¼ä,¿ÉÒÔÌá¸ßÁ¬½Ó³É¹¦¼¸ÂÊ¡£ ? ²ÎÊý˵Ã÷£º
nWaitTime
Á¬½ÓµÈ´ýʱ¼ä£¬ºÁÃë¼¶ nTryTimes
Á¬½Ó´ÎÊý£¬ÔÝʱΪÎÞЧֵ
? ·µ»ØÖµ£ºÎÞ
? Ïà¹Øº¯Êý£ºCLIENT_Login
? µäÐÍÓ¦ÓãºÒ»°ãÔÚÓ¦ÓóÌÐò³õʼ»¯Ê±µ÷ÓÃ
µÚ 23 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
5. ? ? ? ?
CLIENT_API DWORD CLIENT_GetSDKVersion(); º¯Êý˵Ã÷£ºµÃµ½SDKµÄ°æ±¾ºÅ ²ÎÊý£ºÎÞ
·µ»ØÖµ£º°æ±¾ºÅ
µäÐÍÓ¦ÓãºÒ»°ãÔÚÓ¦ÓóÌÐò³õʼ»¯Ê±µ÷ÓÃ
4.2 ״̬ÕìÌý
typedef BOOL (CALLBACK *fMessCallBack)(LONG lCommand, LONG lLoginID, char *pBuf, DWORD dwBufLen, char *pchDVRIP, LONG nDVRPort, DWORD dwUser);
6.
CLIENT_API void CLIENT_SetDVRMessCallBack(fMessCallBack cbMessage, DWORD dwUser);
? º¯Êý˵Ã÷£ºÉèÖÃÉ豸ÏûÏ¢»Øµ÷º¯Êý, ÓÃÀ´µÃµ½É豸µ±Ç°×´Ì¬ÐÅÏ¢,Óëµ÷ÓÃ˳Ðò
Î޹أ¬SDKĬÈϲ»»Øµ÷£¬´Ë»Øµ÷º¯Êý±ØÐëÔÚµ÷Óôò¿ªÕìÌýCLIENT_StartListen»òCLENT_StartListenEx²ÅÓÐЧ,ͬʱÐèҪ˵Ã÷µÄÊÇÕë¶ÔĿǰ¶¨ÒåµÄ±¨¾¯×´Ì¬,ÊÇÿÃë»Øµ÷É豸µ±Ç°µÄ״ֵ̬; ? ²ÎÊý˵Ã÷£º
cbMessage
ÏûÏ¢»Øµ÷º¯Êý£¬¿ÉÒԻص÷É豸µÄ״̬, È籨¾¯×´Ì¬¿ÉÒÔͨ¹ý´Ë»Øµ÷»ñÈ¡; µ±ÉèÖÃΪ0ʱ±íʾ½ûÖ¹»Øµ÷ dwUser Óû§Êý¾Ý
?»Øµ÷º¯Êý²ÎÊý˵Ã÷:
lCommand
»Øµ÷ÀàÐÍ lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
pBuf
½ÓÊÕ±¨¾¯Êý¾ÝµÄ»º´æ£¬¸ù¾Ýµ÷ÓõÄÕìÌý½Ó¿ÚºÍlCommandÖµ²»Í¬£¬Ìî³äµÄ
Êý¾Ý²»Í¬
Èç¹ûµ÷ÓõÄÕìÌý½Ó¿ÚΪCLIENT_StartListen£¬ÔòlCommandµÄ¿ÉÄÜÖµÊÇ£º £OMM_ALARM£ºÌî³äÊý¾ÝΪһ¸öNET_CLIENT_STATE½á¹¹Ìå¡£ £SHELTER_ALARM£ºÌî³äÊý¾ÝΪ16¸ö×Ö½Ú£¬Ã¿¸ö×Ö½Ú±íʾһ¸öÊÓÆµÍ¨µÀµÄÕÚµ²±¨¾¯×´Ì¬£¬1ΪÓб¨¾¯£¬0ΪÎÞ±¨¾¯
£DISK_FULL_ALARM£¬Ìî³äÊý¾ÝΪ1¸öDWORDÖµ£¬1±íʾӲÅÌÂú£¬0±íʾӲÅÌδÂú¡£
£DISK_ERROR_ALARM£ºÌî³äÊý¾ÝΪ1¸öDWORDÖµ£¬°´Î»±íʾ×î¶à32¸öÓ²Å̵ĹÊÕϱ¨¾¯£¬Ã¿Î»Îª1±íʾÓб¨¾¯£¬Îª0±íʾÎÞ±¨¾¯¡£
£SOUND_DETECT_ALARM£ºÌî³äÊý¾ÝΪ16¸ö×Ö½Ú£¬Ã¿¸ö×Ö½Ú±íʾһ¸öÊÓÆµ
µÚ 24 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
ͨµÀµÄÒôƵ±¨¾¯×´Ì¬£¬1ΪÓб¨¾¯£¬0ΪÎÞ±¨¾¯
Èç¹ûµ÷ÓõÄÕìÌý½Ó¿ÚΪCLENT_StartListenEx£¬ÔòlCommandµÄ¿ÉÄÜÖµÊÇ£º £DH_ALARM_ALARM_EX£ºÌî³äÊý¾ÝΪ16¸ö×Ö½Ú£¬Ã¿¸ö×Ö½Ú±íʾһ¸ö±¨¾¯Í¨µÀµÄ±¨¾¯×´Ì¬£¬1ΪÓб¨¾¯£¬0ΪÎÞ±¨¾¯¡£
£DH_MOTION_ALARM_EX£ºÌî³äÊý¾ÝΪ16¸ö×Ö½Ú£¬Ã¿¸ö×Ö½Ú±íʾһ¸öÊÓÆµÍ¨µÀµÄ¶¯Ì¬¼ì²â±¨¾¯×´Ì¬£¬1ΪÓб¨¾¯£¬0ΪÎÞ±¨¾¯¡£
£DH_VIDEOLOST_ALARM_EX£ºÌî³äÊý¾ÝΪ16¸ö×Ö½Ú£¬Ã¿¸ö×Ö½Ú±íʾһ¸öÊÓÆµÍ¨µÀµÄÊÓÆµ¶ªÊ§±¨¾¯×´Ì¬£¬1ΪÓб¨¾¯£¬0ΪÎÞ±¨¾¯¡£
£DH_SHELTER_ALARM_EX£ºÌî³äÊý¾ÝΪ16¸ö×Ö½Ú£¬Ã¿¸ö×Ö½Ú±íʾһ¸öÊÓÆµÍ¨µÀµÄÕÚµ²£¨ºÚÆÁ£©±¨¾¯×´Ì¬£¬1ΪÓб¨¾¯£¬0ΪÎÞ±¨¾¯¡£
£DH_SOUND_DETECT_ALARM_EX£ºÌî³äÊý¾ÝΪ16¸ö×Ö½Ú£¬Ã¿¸ö×Ö½Ú±íʾһ¸öÊÓÆµÍ¨µÀµÄÒôƵ¼ì²â±¨¾¯×´Ì¬£¬1ΪÓб¨¾¯£¬0ΪÎÞ±¨¾¯¡£
£DH_DISKFULL_ALARM_EX£ºÌî³äÊý¾ÝΪ1¸ö×Ö½Ú£¬1ΪÓÐÓ²ÅÌÂú±¨¾¯£¬0ΪÎÞ±¨¾¯¡£
£DH_DISKERROR_ALARM_EX£ºÌî³äÊý¾ÝΪ32¸ö×Ö½Ú£¬Ã¿¸ö×Ö½Ú±íʾһ¸öÓ²Å̵ĹÊÕϱ¨¾¯×´Ì¬£¬1ΪÓб¨¾¯£¬0ΪÎÞ±¨¾¯¡£ dwBufLen
pBufµÄ³¤¶È pchDVRIP
É豸IP
nDVRPort
¶Ë¿Ú
dwUser
»Øµ÷µÄÓû§Êý¾Ý£¬¾ÍÊÇÉÏÃæÊäÈëµÄÓû§Êý¾Ý
? ·µ»ØÖµ£ºTRUE»Øµ÷º¯ÊýÖ´ÐÐÕýÈ·£¬FALSEÖ´ÐдíÎó ? Ïà¹Øº¯Êý£ºCLIENT_StartListen¡¢CLIENT_StopListen ? µäÐÍÓ¦ÓãºÒ»°ãÔÚÓ¦ÓóÌÐò³õʼ»¯Ê±µ÷ÓÃÉèÖûص÷,Ôڻص÷º¯ÊýÖиù¾Ý²»Í¬µÄ
É豸IDºÍÃüÁîÖµ×ö³ö²»Í¬µÄ´¦Àí¡£
7. CLIENT_API BOOL CLIENT_StartListen(LONG lLoginID); ? º¯Êý˵Ã÷£º¿ªÊ¼¶Ôij¸öÉ豸ÕìÌýÏûÏ¢,ÓÃÀ´ÉèÖÃÊÇ·ñÐèÒª¶ÔÉ豸ÏûÏ¢»Øµ÷£¬µÃ
µ½µÄÏûÏ¢´ÓCLIENT_SetDVRMessCallBackµÄÉèÖÃÖµ»Øµ÷³öÀ´¡£ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý£ºCLIENT_SetDVRMessCallBack£¬CLIENT_StopListen µäÐÍÓ¦ÓãºÔÚÉ豸Á¬½Óºóµ÷Óñ¾º¯Êý´ò¿ªÕìÌý
µÚ 25 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
8. CLIENT_API BOOL CLIENT_StartListenEx(LONG lLoginID)
? º¯Êý˵Ã÷£º¿ªÊ¼¶Ôij¸öÉ豸ÕìÌýÏûÏ¢,ÓÃÀ´ÉèÖÃÊÇ·ñÐèÒª¶ÔÉ豸ÏûÏ¢»Øµ÷£¬µÃ
µ½µÄÏûÏ¢´ÓCLIENT_SetDVRMessCallBackµÄÉèÖÃÖµ»Øµ÷³öÀ´¡£
±¾º¯ÊýÊÇCLIENT_StartListenµÄÔöÇ¿°æ±¾£ºÖ§³ÖµÄ±¨¾¯ÖÖÀà¸ü¶à¸üÈ«£¬ÇÒÿһÖÖ±¨¾¯¶¼Ï¸·ÖΪµ¥¶À»Øµ÷¡£ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý£ºCLIENT_SetDVRMessCallBack£¬CLIENT_StopListen ? µäÐÍÓ¦ÓãºÔÚÉ豸Á¬½Óºóµ÷Óñ¾º¯Êý´ò¿ªÕìÌý
9. CLIENT_API BOOL CLIENT_StopListen(LONG lLoginID); ? º¯Êý˵Ã÷£ºÍ£Ö¹¶Ôij¸öÉ豸ÕìÌýÏûÏ¢ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_Login·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý£ºCLIENT_StartListen , CLENT_StartListenEx ? µäÐÍÓ¦Ó㺲μûdemo³ÌÐò
4.3 ×Ö·ûµþ¼Ó
typedef void (CALLBACK *fDrawCallBack)(LONG lLoginID, LONG lPlayHandle, HDC hDC, DWORD dwUser);
10. CLIENT_API void CLIENT_RigisterDrawFun(fDrawCallBack
cbDraw, DWORD dwUser); ? º¯Êý˵Ã÷£ºÓû§×Ô¶¨Òå»Í¼, ÔÚ´ò¿ªÍ¼Ïñ֮ǰµ÷Óô˺¯Êý,·ñÔòÎÞЧ,±ØÐëÔÚËù
Óд°¿ÚδÏÔʾ֮ǰµ÷ÓÃ, ¿ÉÒÔÓÃÀ´¶Ô»Ãæ½øÐÐ×Ö·ûµþ¼Ó¡£ ? ²ÎÊý˵Ã÷£º
cbDraw
»Í¼»Øµ÷£¬µ±ÉèÖÃΪ0ʱ±íʾ½ûÖ¹»Øµ÷
dwUser
Óû§Êý¾Ý
?»Øµ÷º¯Êý˵Ã÷:
LoginID
µÚ 26 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
CLIENT_LoginµÄ·µ»ØÖµ£¬±êʶÉ豸¡£
lPlayHandle
CLIENT_RealPlayµÄ·µ»ØÖµ£¬±êʶͨµÀ¡£
hDC
ÊǶÔÕû¸öÏÔʾ»ÃæÇøÓòµÄ»°åÖ¸Õë,¸ù¾ÝÓû§µÄÐèÒª¿ÉÒÔ¶ÔÈκÎλÖõþ¼ÓÏÔʾ¡£ dwUser
Óû§Êý¾Ý£¬¾ÍÊÇÉÏÃæÊäÈëµÄÓû§Êý¾Ý¡£
? ·µ»ØÖµ£ºÎÞ ? Ïà¹Øº¯Êý: ÎÞ ? µäÐÍÓ¦Ó㺱¾½Ó¿Ú×îºÃÔÚÓ¦ÓóÌÐò³õʼ»¯Ê±¾Íµ÷ÓÃ,¾ßÌåµÄ´¦ÀíÔڻص÷º¯ÊýÖÐ
¸ù¾Ýµ±Ç°»ÃæID(¿ÉÒÔÊǼàÊÓ,¶à»ÃæÔ¤ÀÀ,»Ø·Å)µþ¼Ó²»Í¬µÄÐÅÏ¢;
4.4 É豸ע²á
11. CLIENT_API LONG CLIENT_Login(char *pchDVRIP, WORD
wDVRPort, char *pchUserName, char *pchPassword, LPNET_DEVICEINFO lpDeviceInfo, int *error = 0); ? º¯Êý˵Ã÷£º×¢²áÓû§µ½É豸£¬µ±É豸¶Ë°ÑÓû§ÉèÖÃΪ¸´Óã¨É豸ĬÈϵÄÓû§
²»ÄÜÉèÖÃΪ¸´Óã©£¬¸ÃÕʺſÉÒÔ¶à´ÎÏòÉ豸ע²á ? ²ÎÊý˵Ã÷£º
pchDVRIP
É豸IP
wDVRPort
É豸¶Ë¿Ú pchUserName
Óû§Ãû pchPassword
Óû§ÃÜÂë
lpDeviceInfo
É豸ÐÅÏ¢,ÊôÓÚÊä³ö²ÎÊý
error
(µ±º¯Êý·µ»Ø³É¹¦Ê±,¸Ã²ÎÊýµÄÖµÎÞÒâÒå)£¬·µ»ØµÇ¼´íÎóÂ룺 1.ÃÜÂë²»ÕýÈ· 2.ÕʺŲ»´æÔÚ
3.µÈ´ýµÇ¼·µ»Ø³¬Ê±
µÚ 27 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
4.ÕʺÅÒѵǼ 5.ÕʺÅÒѱ»Ëø¶¨
6.ÕʺÅÓÖ±»ÁÐΪºÚÃûµ¥ 7.×ÊÔ´²»×㣬ϵͳæ 9.ÕÒ²»µ½ÍøÂçÖ÷»ú 0.ÆäËûÍøÂç´íÎó
? ·µ»ØÖµ£ºÊ§°Ü·µ»Ø0£¬³É¹¦·µ»ØÉ豸ID£¬µÇ¼³É¹¦Ö®ºó¶ÔÉ豸µÄ²Ù×÷¶¼¿ÉÒÔ
ͨ¹ý´ËÖµ(É豸¾ä±ú)¶ÔÓ¦µ½ÏàÓ¦µÄÉ豸 ? Ïà¹Øº¯Êý£ºCLIENT_Logout
? µäÐÍÓ¦ÓãºÔÚ³õʼ»¯ºó¾Í¿ÉÒÔµ÷Óñ¾½Ó¿Ú×¢²áµ½Ö¸¶¨µÄÉ豸£¬³É¹¦ºó½«·µ»Ø
É豸¾ä±ú£¬¸øÏà¹ØµÄº¯Êýµ÷ÓÃ
12. CLIENT_API LONG CLIENT_LoginEx(char *pchDVRIP, WORD
wDVRPort, char *pchUserName, char *pchPassword, int nSpecCap, void* pCapParam, LPNET_DEVICEINFO lpDeviceInfo, int *error = 0) ? º¯Êý˵Ã÷£º×¢²áÓû§µ½É豸µÄÀ©Õ¹½Ó¿Ú£¬Ö§³ÖÒ»¸öÓû§Ö¸¶¨É豸֧³ÖµÄÄÜÁ¦ ? ²ÎÊý˵Ã÷£ºÔö¼ÓÀ©Õ¹²ÎÊý
nSpecCap
É豸֧³ÖµÄÄÜÁ¦£¬ÖµÎª1±íʾͬһÓû§Ãû¿ÉÒÔ¶à´ÎµÇ¼, ÆäËûÔÝʱ²»Ö§³Ö pCapParam
¶ÔnSpecCap µÄ²¹³ä²ÎÊý, ĿǰΪ0
? ·µ»ØÖµ: ʧ°Ü·µ»Ø0£¬³É¹¦·µ»ØÉ豸ID£¬µÇ¼³É¹¦Ö®ºó¶ÔÉ豸µÄ²Ù×÷¶¼¿ÉÒÔ
ͨ¹ý´ËÖµ(É豸¾ä±ú)¶ÔÓ¦µ½ÏàÓ¦µÄÉ豸 ? Ïà¹Øº¯Êý: CLIENT_Logout
? µäÐÍÓ¦ÓãºÒ»¸öÓû§Í¬Ê±¶à´ÎµÇ¼ͬһ̨É豸
13. CLIENT_API BOOL CLIENT_Logout(LONG lLoginID); ? º¯Êý˵Ã÷£º×¢ÏúÉ豸Óû§ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£º CLIENT_Login
? µäÐÍÓ¦Ó㺵±ÐèÒªÉ豸Ö÷¶¯¶Ï¿ªÊ±µ÷ÓÃ;
µÚ 28 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
4.5 ʵʱ¼àÊÓ
14. CLIENT_API LONG CLIENT_RealPlay(LONG lLoginID, int
nChannelID, HWND hWnd); ? º¯Êý˵Ã÷£ºÆô¶¯ÊµÊ±¼àÊÓ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
nChannelID
ʵʱ¼àÊÓͨµÀºÅ(ͨµÀºÅ´Ó0¿ªÊ¼)
hWnd
´°¿Ú¾ä±ú£¬ÖµÎª0¶ÔÊý¾Ý²»½âÂë¡¢²»ÏÔʾͼÏñ
? ·µ»ØÖµ£ºÊ§°Ü·µ»Ø0£¬³É¹¦·µ»ØÊµÊ±¼àÊÓID(ʵʱ¼àÊÓ¾ä±ú)£¬½«×÷ΪÏà¹Øº¯
ÊýµÄ²ÎÊý
? Ïà¹Øº¯Êý£ºCLIENT_StopRealPlay¡¢CLIENT_SaveRealData¡¢
CLIENT_StopSaveRealData¡¢CLIENT_ClientSetVideoEffect¡¢CLIENT_ClientGetVideoEffect¡¢CLIENT_OpenSound¡¢CLIENT_CloseSound¡¢CLIENT_SetVolume¡¢CLIENT_SetRealDataCallBack¡¢CLIENT_SetRealDataCallBackEx¡¢CLIENT_CapturePicture¡¢CLIENT_StartTalk¡¢CLIENT_StopTalk
? µäÐÍÓ¦Ó㺸ù¾ÝµÇ¼ʱ»ñÈ¡µ½µÄÉ豸ÐÅÏ¢,µ÷Óñ¾½Ó¿Ú,¾Í¿ÉÒÔ´ò¿ªÈκÎÓÐЧµÄ
һ·ʵʱ¼àÊÓ,ÏÔʾµ½Ö¸¶¨µÄhWnd´°¿Ú,Õý³£·µ»ØµÄ¼àÊÓID,ÓÃÓÚÒÔ϶Ա¾¼àÊÓͨµÀµÄ¿ØÖƺͲÙ×÷;
15. CLIENT_API BOOL CLIENT_StopRealPlay(LONG lRealHandle); ? º¯Êý˵Ã÷£ºÍ£Ö¹ÊµÊ±¼àÊÓ ? ²ÎÊý˵Ã÷£º
lRealHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_RealPlay ? µäÐÍÓ¦Ó㺹رÕʧʵ¼àÊÓ
µÚ 29 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
16. CLIENT_API LONG CALL_METHOD CLIENT_RealPlayEx(LONG
lLoginID, int nChannelID, HWND hWnd, RealPlayType rType) ? º¯Êý˵Ã÷£ºÆô¶¯ÊµÊ±¼àÊÓ»ò¶à»ÃæÔ¤ÀÀ£¬µ±´ò¿ª¶à»ÃæÔ¤ÀÀʱ²»ÄÜ´ò¿ªÓïÒô
¶Ô½²
? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
nChannelID
ʵʱ¼àÊÓͨµÀºÅ£¬Èç¹ûrTypeΪRType_Multiplay¸Ã²ÎÊý±£Áô¡£
hWnd
´°¿Ú¾ä±ú£¬ÖµÎª0¶ÔÊý¾Ý²»½âÂë¡¢²»ÏÔʾͼÏñ
rType
Êý¾ÝÀàÐÍ
RType_Realplay = 0, //ʵʱԤÀÀ RType_Multiplay=1, //¶à»ÃæÔ¤ÀÀ
? ·µ»ØÖµ£ºÊ§°Ü·µ»Ø0£¬³É¹¦·µ»ØÊµÊ±¼àÊÓID(ʵʱ¼àÊÓ¾ä±ú)£¬½«×÷ΪÏà¹Øº¯
ÊýµÄ²ÎÊý
? Ïà¹Øº¯Êý£ºCLIENT_StopRealPlayEx¡¢CLIENT_SaveRealData¡¢
CLIENT_StopSaveRealData¡¢CLIENT_ClientSetVideoEffect¡¢CLIENT_ClientGetVideoEffect¡¢CLIENT_OpenSound¡¢CLIENT_CloseSound¡¢CLIENT_SetVolume¡¢CLIENT_SetRealDataCallBack¡¢CLIENT_SetRealDataCallBackEx¡¢CLIENT_CapturePicture¡¢CLIENT_StartTalk¡¢CLIENT_StopTalk
? µäÐÍÓ¦Ó㺲μûdemo³ÌÐò
17. CLIENT_API BOOL CALL_METHOD CLIENT_StopRealPlayEx(LONG
lRealHandle); ? º¯Êý˵Ã÷£ºÍ£Ö¹ÊµÊ±¼àÊÓ»ò¶à»ÃæÔ¤ÀÀ ? ²ÎÊý˵Ã÷£º
lRealHandle
CLIENT_RealPlayExµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_RealPlayEx
? µäÐÍÓ¦Ó㺹رÕʵʱ¼àÊÓ»òÕß¶à»ÃæÔ¤ÀÀ
µÚ 30 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
18. CLIENT_API BOOL CLIENT_ClientGetVideoEffect(LONG
lPlayHandle, unsigned char *nBrightness, unsigned char *nContrast, unsigned char *nHue, unsigned char *nSaturation); ? º¯Êý˵Ã÷£º»ñÈ¡½âÂë¿âÊÓÆµ²ÎÊý£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWndÓÐЧʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
nBrightness
·µ»ØÁÁ¶ÈÖ¸Õë(0-255) nContrast
·µ»Ø¶Ô±È¶ÈÖ¸Õë(0-255) nHue
·µ»ØÉ«¶ÈÖ¸Õë(0-255)
nSaturation
·µ»Ø±¥ºÍ¶ÈÖ¸Õë(0-255)
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý: CLIENT_ClientSetVideoEffect¡¢CLIENT_RealPlay¡¢
CLIENT_RealPlayEx¡¢CLIENT_PlayBackByRecordFileCLIENT_PlayBackByRecordFileEx¡¢CLIENT_PlayBackByTimeCLIENT_PlayBackByTimeEx
¡¢¡¢
? µäÐÍÓ¦ÓãºÔÚ´ò¿ª¼àÊÓͨµÀºó»ñÈ¡¸Ã¼àÊÓµÄÊÓÆµ²ÎÊý,³õʼ»¯½çÃæÏÔʾµ±Ç°µÄ
ÊÓÆµ×´Ì¬,ͬʱΪÒÔÏÂÊÓÆµ²ÎÊýµ÷½Ú×ö²Î¿¼;
19. CLIENT_API BOOL CLIENT_ClientSetVideoEffect(LONG
lPlayHandle, unsigned char nBrightness, unsigned char nContrast, unsigned char nHue, unsigned char nSaturation); ? º¯Êý˵Ã÷£ºÉèÖýâÂë¿âÊÓÆµ²ÎÊý£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWndÓÐЧʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lRealHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
nBrightness
ÁÁ¶È(0-255)
nContrast
¶Ô±È¶È(0-255)
µÚ 31 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
nHue
É«¶È(0-255)
nSaturation
±¥ºÍ¶È(0-255)
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý: CLIENT_ClientGetVideoEffect£¬CLIENT_RealPlay¡¢
CLIENT_RealPlayEx¡¢CLIENT_PlayBackByRecordFileCLIENT_PlayBackByRecordFileEx¡¢CLIENT_PlayBackByTimeCLIENT_PlayBackByTimeEx
¡¢¡¢
? µäÐÍÓ¦Ó㺸ù¾ÝÐèÒª¿ÉÒÔµ÷½ÚÊÓÆµ²ÎÊý;ÉèÖòÎÊýÊÇ4ÖÖ²ÎÊýÒ»ÆðÉè,ËùÒÔÈç
¹û¸ü¸Äµ¥¸öÒ²ÒªÇóÆäËû²ÎÊýÖµÕý³£;ËùÒÔÔÚÓ¦ÓÃÖÐ×îºÃ¶¨ÒåÊÓÆµ²ÎÊý±äÁ¿ÒÔ¹©ËæÊ±¸ü¸ÄÉèÖÃ;
4.6 ÒôƵ¿ØÖÆ
20. CLIENT_API BOOL CLIENT_OpenSound(LONG hPlayHandle) ? º¯Êý˵Ã÷£º´ò¿ªÒôƵ, Ŀǰֻ֧³Ö¶ÀÕ¼·½Ê½´ò¿ªÒôƵ£¬Èç¹ûÕýÔÚµ÷Óô˺¯Êý
֮ǰÒôƵÒѾ´ò¿ª²¢ÇÒhPlayHandleÊDz»Ò»Ñù£¬Ôò¹Ø±ÕÔÀ´µÄÒôƵ´ò¿ªÐµÄÒôƵ£»º¯ÊýÖ»ÓÐÔÚ´ò¿ªhPlayHandleµÄº¯ÊýµÄ²ÎÊýhWndÓÐЧʱ²ÅÉúЧ¡£ ? ²ÎÊý˵Ã÷£º
hPlayHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý£ºCLIENT_CloseSound¡¢CLIENT_RealPlay¡¢CLIENT_RealPlayEx¡¢
CLIENT_PlayBackByRecordFile¡¢CLIENT_PlayBackByRecordFileEx¡¢CLIENT_PlayBackByTime¡¢CLIENT_PlayBackByTimeEx
? µäÐÍÓ¦Ó㺶ÔÒôƵ£¬Ä¿Ç°Ö»Ö§³Ö¶ÀÕ¼·½Ê½£¬ËùÒÔÔÚÓ¦ÓóÌÐòÖÐÐèÒª¶¨Ò嵱ǰ
ÓÐЧµÄÒôƵͨµÀ¡£
21. CLIENT_API BOOL CLIENT_CloseSound(); ? ? ? ? ?
º¯Êý˵Ã÷£º¹Ø±ÕÒôƵ ²ÎÊý˵Ã÷£ºÎÞ
·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE Ïà¹Øº¯Êý£ºCLIENT_OpenSound µäÐÍÓ¦Ó㺹رյ±Ç°µÄÒôƵ;
µÚ 32 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
22. CLIENT_API BOOL CLIENT_SetVolume(LONG lPlayHandle, int
nVolume); ? º¯Êý˵Ã÷£ºÉèÖÃÒôÁ¿ ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
nVolume
ÒôÁ¿Öµ, ·¶Î§0 ~ 100 0ÒôÁ¿×îС
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý: CLIENT_OpenSound¡¢CLIENT_CloseSound¡¢CLIENT_RealPlay¡¢
CLIENT_RealPlayEx¡¢CLIENT_PlayBackByRecordFileCLIENT_PlayBackByRecordFileEx¡¢CLIENT_PlayBackByTimeCLIENT_PlayBackByTimeEx
¡¢¡¢
? µäÐÍÓ¦ÓãºÐÞ¸Äʵʱ¼àÊÓ»ò»Ø·ÅµÄÒôÁ¿Öµ
4.7 Êý¾Ý±£´æ
23. CLIENT_API BOOL CLIENT_SaveRealData(LONG lRealHandle,
const char *pchFileName); ? º¯Êý˵Ã÷£º¿ªÊ¼±£´æÊµÊ±¼àÊÓÊý¾Ý,¶Ôǰ¶ËÉ豸¼àÊÓµÄͼÏñ½øÐÐÊý¾Ý±£´æ,ÐγÉ
¼ÏñÎļþ,´ËÊý¾ÝÊÇÉ豸¶Ë´«Ë͹ýÀ´µÄÔʼÊÓÆµÊý¾Ý ? ²ÎÊý˵Ã÷£º
lRealHandle
CLIENT_RealPlayµÄ·µ»ØÖµ pchFileName
ʵʱ¼àÊÓ±£´æÎļþÃû
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý£ºCLIENT_StopSaveRealData¡¢CLIENT_RealPlay¡¢
CLIENT_RealPlayEx
? µäÐÍÓ¦ÓãºÔÚ¼àÊÓͼÏñµÄ´ò¿ªÖ®ºóËæÊ±¶¼¿ÉÒÔµ÷Óý«¼àÊÓÊý¾Ý±£´æµ½Îļþ,
Ò²¿ÉÒԹرÕÖ®ºóÔÙ´ò¿ªÐγɲ»Í¬µÄÎļþ;
24. CLIENT_API BOOL CLIENT_StopSaveRealData(LONG
lRealHandle); ? º¯Êý˵Ã÷£ºÍ£Ö¹±£´æÊµÊ±¼àÊÓÊý¾Ý,¹Ø±Õ±£´æµÄÎļþ ? ²ÎÊý˵Ã÷£º
lRealHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_SaveRealData¡¢CLIENT_RealPlay¡¢CLIENT_RealPlayEx
µÚ 33 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
? µäÐÍÓ¦ÓãºÍ£Ö¹±£´æ¼àÊÓÊý¾Ý;
typedef void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, DWORD dwUser);
25. CLIENT_API BOOL CLIENT_SetRealDataCallBack(LONG lRealHandle, fRealDataCallBack cbRealData, DWORD dwUser); ? º¯Êý˵Ã÷£ºÉèÖÃʵʱ¼àÊÓÊý¾Ý»Øµ÷£¬¸øÓû§ÌṩÉ豸Á÷³öµÄÊý¾Ý£¬µ±
cbRealDataΪNULLʱ½áÊø»Øµ÷Êý¾Ý ? ²ÎÊý˵Ã÷£º
lRealHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
cbRealData
»Øµ÷º¯Êý,ÓÃÓÚ´«³öÉ豸Á÷³öµÄʵʱÊý¾Ý
dwUser
Óû§Êý¾Ý
?
»Øµ÷º¯Êý²ÎÊý˵Ã÷: lRealHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
dwDataType
±êʶ»Øµ÷³öÀ´µÄÊý¾ÝÀàÐÍ, Ò»µ©ÉèÖûص÷,ÊÇÒÔÏÂ4ÖÖÊý¾Ý¶¼»áͬʱ»Øµ÷³öÀ´,Óû§¿ÉÒÔ¸ù¾ÝÐèÒªÓÐÑ¡ÔñµÄ´¦Àí²¿·ÖÊý¾Ý; 0 ÔʼÊý¾Ý(ÓëSaveRealData±£´æµÄÊý¾ÝÒ»ÖÂ) 1 ±ê×¼ÊÓÆµÊý¾Ý 2 yuvÊý¾Ý
3 pcmÒôƵÊý¾Ý
pBuffer
»Øµ÷Êý¾Ý,¸ù¾ÝÊý¾ÝÀàÐ͵IJ»Í¬Ã¿´Î»Øµ÷²»Í¬µÄ³¤¶ÈµÄÊý¾Ý,³ýÀàÐÍ0, ÆäËûÊý¾ÝÀàÐͶ¼Êǰ´Ö¡,ÿ´Î»Øµ÷Ò»Ö¡Êý¾Ý
dwBufSize
»Øµ÷Êý¾ÝµÄ³¤¶È
dwUser
Óû§Êý¾Ý£¬¾ÍÊÇÉÏÃæÊäÈëµÄÓû§Êý¾Ý
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_RealPlay¡¢CLIENT_RealPlayEx¡¢CLIENT_StopRealPlay ? µäÐÍÓ¦ÓãºÍ¨¹ýµ÷Óñ¾½Ó¿Ú¿ÉÒԱȽÏ×ÔÈçµÄ»ñȡʵʱ¼àÊÓÊý¾Ý,ÓÃÀ´±£´æ³ÉÎÄ
¼þ,Ò²¿ÉÒÔÓÃÀ´Êý¾Ý·Ö·¢¶à·´°¿ÚÏÔʾ¼°ÊµÏÖÆäËû¹¦ÄÜ;
µÚ 34 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
typedef void(CALLBACK *fRealDataCallBackEx)(LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LONG param, DWORD dwUser);
26. CLIENT_API BOOL CLIENT_SetRealDataCallBackEx(LONG
lRealHandle, fRealDataCallBackEx cbRealData, DWORD dwUser, DWORD dwFlag); ? º¯Êý˵Ã÷£ºÉèÖÃʵʱ¼àÊÓÊý¾Ý»Øµ÷À©Õ¹½Ó¿Ú ,ÊǶÔÉÏÒ»½Ó¿ÚµÄ²¹³ä, Ôö¼ÓÒ»¸ö
»Øµ÷Êý¾ÝÀàÐͱêÖ¾dwFlag ²ÎÊý, ¿ÉÒÔÑ¡ÔñÐԵĻص÷³öÐèÒªµÄÊý¾Ý, ¶ÔÓÚûÉèÖûص÷µÄÊý¾ÝÀàÐ;Ͳ»»Øµ÷³öÀ´ÁË, µ±ÉèÖÃΪ0x1fʱÓëÉÏÒ»½Ó¿ÚЧ¹ûÒ»Ñù, ²»¹ý¶Ô»Øµ÷º¯ÊýÒ²×öÁËÀ©Õ¹¡£ ? ²ÎÊý˵Ã÷£º
lRealHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
cbRealData
»Øµ÷º¯Êý,ÓÃÓÚ´«³ö¶àÖÖÀàÐ͵ÄʵʱÊý¾Ý
dwUser
Óû§Êý¾Ý
dwFlag
Êǰ´Î»À´µÄ, ¿ÉÒÔ×éºÏ, Ϊ0x1fʱÎåÖÖÊý¾ÝÀàÐͶ¼»Øµ÷ 0x00000001 µÈͬÔÀ´µÄÔʼÊý¾Ý
0x00000002 ÊÇMPEG4/H264±ê×¼Êý¾Ý 0x00000004 YUVÊý¾Ý 0x00000008 PCMÊý¾Ý 0x00000010 ÔʼÒôƵÊý¾Ý
? »Øµ÷º¯Êý²ÎÊý˵Ã÷:
lRealHandle
ʵʱ¼àÊÓID
dwDataType
±êʶ»Øµ÷³öÀ´µÄÊý¾ÝÀàÐÍ, Ö»ÓÐdwFlagÉèÖñêʶµÄÊý¾Ý²Å»á»Øµ÷³öÀ´£º 0 ÔʼÊý¾Ý(ÓëSaveRealData±£´æµÄÊý¾ÝÒ»ÖÂ) 1 ±ê×¼ÊÓÆµÊý¾Ý 2 yuvÊý¾Ý 3 pcmÒôƵÊý¾Ý 4 ÔʼÒôƵÊý¾Ý pBuffer
»Øµ÷Êý¾Ý,¸ù¾ÝÊý¾ÝÀàÐ͵IJ»Í¬Ã¿´Î»Øµ÷²»Í¬µÄ³¤¶ÈµÄÊý¾Ý,³ýÀàÐÍ0, ÆäËûÊý¾ÝÀàÐͶ¼Êǰ´Ö¡,ÿ´Î»Øµ÷Ò»Ö¡Êý¾Ý param
µÚ 35 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
»Øµ÷Êý¾Ý²ÎÊý½á¹¹Ìå, ¸ù¾Ý²»Í¬µÄÀàÐÍ, ²ÎÊý½á¹¹Ò²²»Ò»ÖÂ, µ±ÀàÐÍΪ0 (ÔʼÊý¾Ý)ºÍ 2/4(ÒôƵÊý¾Ýʱ) Ϊ0;
µ±»Øµ÷µÄÊý¾ÝÀàÐÍΪ±ê×¼ÊÓÆµÊý¾ÝʱparamΪһ¸ö½á¹¹ÌåÖ¸Õ룺
Typedef struct tagVideoFrameParam {
BYTE encode; // ±àÂëÀàÐÍ
BYTE frametype; // I = 0, P = 1, B = 2... BYTE format; // PAL - 0, NTSC - 1
BYTE size; // CIF - 0, HD1 - 1, 2CIF - 2, D1 - 3,
VGA - 4, QCIF - 5, QVGA - 6 DWORD fourcc; // Èç¹ûÊÇH264±àÂëÔò×ÜΪ0£¬MPEG4ÕâÀïÊÇÌîд
FOURCC('X','V','I','D'); DWORD reserved; // ±£Áô };
µ±Êý¾ÝÀàÐÍÊÇPCMÊý¾ÝµÄʱºòparamÒ²ÊÇÒ»¸ö½á¹¹ÌåÖ¸Õ룺
Typedef struct tagPCMDataParam {
BYTE channels; // ÉùµÀÊý BYTE samples; // ²ÉÑù 0 - 8000, 1 - 11025, 2 - 16000, 3 - 22050,
4 - 32000, 5 - 44100, 6 - 48000 BYTE depth; // ²ÉÑùÉî¶È ȡֵ8»òÕß16µÈ¡£Ö±½Ó±íʾ BYTE param1; // 0 - ָʾÎÞ·ûºÅ£¬1-ָʾÓзûºÅ DWORD reserved; // ±£Áô };
dwBufSize
»Øµ÷Êý¾ÝµÄ³¤¶È, ¸ù¾Ý²»Í¬µÄÀàÐÍ, ³¤¶ÈÒ²²»Í¬ dwUser
Óû§Êý¾Ý£¬¾ÍÊÇÉÏÃæÊäÈëµÄÓû§Êý¾Ý
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_RealPlay¡¢CLIENT_RealPlayEx¡¢CLIENT_StopRealPlay ? µäÐÍÓ¦ÓãºÍ¬CLIENT_SetRealDataCallBackº¯Êý
4.8 ÊÓÆµ×¥Í¼
27. CLIENT_API BOOL CLIENT_CapturePicture(LONG hPlayHandle,
const char *pchPicFileName); ? º¯Êý˵Ã÷£º±£´æÍ¼Æ¬,¶ÔÏÔʾͼÏñ½øÐÐ˲¼äץͼ£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊý
hWndÓÐЧʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
hPlayHandle
CLIENT_RealPlayµÄ·µ»ØÖµ
pchPicFileName
µÚ 36 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
λͼÎļþÃû£¬µ±Ç°Ö»Ö§³ÖBMPλͼ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_RealPlay¡¢
CLIENT_RealPlayEx¡¢
CLIENT_PlayBackByRecordFile¡¢CLIENT_PlayBackByRecordFileEx¡¢CLIENT_PlayBackByTime¡¢CLIENT_PlayBackByTimeEx
? µäÐÍÓ¦Ó㺶Ե±Ç°µÄÏÔʾ»Ãæ½øÐÐ˲¼äץͼ,ÎÞ˳ÐòÒªÇó
4.9 »Ø·ÅºÍÏÂÔØ
28. CLIENT_API BOOL CLIENT_QueryRecordFile(LONG lLoginID, int
nChannelId, int nRecordFileType, LPNET_TIME tmStart, LPNET_TIME tmEnd, char* pchCardid, LPNET_RECORDFILE_INFO nriFileinfo, int maxlen, int *filecount, int waittime=1200, bool bTime=false); ? º¯Êý˵Ã÷£º²éѯ¼ÏñÎļþ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
nChannelId
ͨµÀID£¬´Ó0¿ªÊ¼ nRecordFileType
¼ÏñÎļþÀàÐÍ 0 ËùÓмÏñÎļþ 1 Íⲿ±¨¾¯ 2 ¶¯Ì¬¼ì²â±¨¾¯ 3 ËùÓб¨¾¯ 4 ¿¨ºÅ²éѯ 5 ×éºÏÌõ¼þ²éѯ tmStart
¼Ïñ¿ªÊ¼Ê±¼ä tmEnd
¼Ïñ½áÊøÊ±¼ä
pchCardid
¿¨ºÅ,Ö»Õë¶Ô¿¨ºÅ²éѯÓÐЧ nriFileinfo
·µ»ØµÄ¼ÏñÎļþÐÅÏ¢£¬ÊÇÒ»¸öNET_RECORDFILE_INFO½á¹¹Êý×é maxlen
nriFileinfo»º³åµÄ×î´ó³¤¶È;
filecount
·µ»ØµÄÎļþ¸öÊý,ÊôÓÚÊä³ö²ÎÊý×î´óÖ»Äܲ鵽»º³åÂúΪֹµÄ¼Ïñ¼Ç¼;
µÚ 37 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
waittime
µÈ´ýʱ¼ä
bTime
ÊÇ·ñ°´Ê±¼ä²é(ĿǰÎÞЧ)
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý£ºCLIENT_Login¡¢CLIENT_PlayBackByRecordFile¡¢
CLIENT_PlayBackByRecordFileEx¡¢CLIENT_PausePlayBackCLIENT_SeekPlayBack¡¢CLIENT_StopPlayBackCLIENT_GetPlayBackOsdTime¡¢CLIENT_StepPlayBackCLIENT_GetFramePlayBack¡¢CLIENT_SetFramePlayBackCLIENT_SlowPlayBack¡¢CLIENT_FastPlayBack
¡¢¡¢¡¢¡¢
? µäÐÍÓ¦ÓãºÔڻطÅ֮ǰÐèÒªÏȵ÷Óñ¾½Ó¿Ú²éѯ¼Ïñ¼Ç¼,µ±¸ù¾ÝÊäÈëµÄʱ¼ä¶Î
²éѯµ½µÄ¼Ïñ¼Ç¼ÐÅÏ¢´óÓÚ¶¨ÒåµÄ»º³åÇø´óС,ÔòÖ»·µ»Ø»º³åËùÄÜ´æ·ÅµÄ¼Ïñ¼Ç¼,¿ÉÒÔ¸ù¾ÝÐèÒª¼ÌÐø²éѯ
typedef void(CALLBACK *fDownLoadPosCallBack) (LONG lPlayHandle, DWORD dwTotalSize, DWORD dwDownLoadSize, DWORD dwUser);
29. CLIENT_API LONG CLIENT_PlayBackByRecordFile(LONG
lLoginID, LPNET_RECORDFILE_INFO lpRecordFile, HWND hWnd, fDownLoadPosCallBack cbDownLoadPos, DWORD dwUserData); ? º¯Êý˵Ã÷£ºÍøÂç»Ø·Å,ÐèҪ˵Ã÷µÄÊÇ£¬Óû§µÇ¼һ̨É豸ºó£¬Ã¿Í¨µÀͬһʱ¼ä
Ö»Äܲ¥·ÅÒ»Ôò¼Ïñ,²»ÄÜͬʱ²¥·ÅͬһͨµÀµÄ¶àÌõ¼Ç¼¡£ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ lpRecordFile
¼ÏñÎļþÐÅÏ¢, µ±°´Ê±¼ä²¥·ÅÊÇÖ»ÐèÌî³äÆðʼʱ¼äºÍ½áÊøÊ±¼ä, ÆäËûÏîÌî0;
hWnd
»Ø·Å´°¿Ú
cbDownLoadPos
½ø¶È»Øµ÷º¯Êý dwUserData
Óû§×Ô¶¨ÒåÊý¾Ý
? »Øµ÷º¯Êý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
dwTotalSize
µÚ 38 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
Ö¸±¾´Î²¥·Å×Ü´óС£¬µ¥Î»ÎªKB dwDownLoadSize
Ö¸ÒѾ²¥·ÅµÄ´óС£¬µ¥Î»ÎªKB£¬µ±ÆäֵΪ-1ʱ±íʾ±¾´Î»Ø·À½áÊø dwUser
Óû§Êý¾Ý£¬¾ÍÊÇÉÏÃæÊäÈëµÄÓû§Êý¾Ý
? ·µ»ØÖµ£º³É¹¦·µ»ØÍøÂç»Ø·ÅID£¬Ê§°Ü·µ»Ø0 ? Ïà¹Øº¯Êý£ºCLIENT_Login¡¢CLIENT_PausePlayBack£¬CLIENT_SeekPlayBack£¬
CLIENT_StopPlayBack¡¢CLIENT_GetPlayBackOsdTime¡¢
CLIENT_StepPlayBack¡¢CLIENT_GetFramePlayBack¡¢CLIENT_SetFramePlayBack¡¢CLIENT_SlowPlayBack¡¢CLIENT_FastPlayBack
? µäÐÍÓ¦Ó㺸ù¾ÝÉÏÃæ²éѯµÄ¼Ç¼,ÊäÈëÖ¸¶¨µÄÏÔʾ´°¿ÚhWnd,µ÷Óñ¾½Ó¿Ú¾Í¿ÉÒÔ²¥·ÅÁË, ¼Ç¼·µ»ØµÄ²¥·ÅID,ÒÔ϶Ա¾²¥·ÅµÄ¿ØÖƶ¼ÊÇÒªÓôËIDÖµ,ÁíÍâÓ¦ÓóÌÐò¿ÉÒÔÔڴ˻ص÷º¯ÊýÖд¦ÀíºÍ¸üÐÂÏÔʾ½ø¶È.
ÒÔÏÂ29¡¢30¡¢31Ϊһ×é¼Ïñ²éѯ½Ó¿Ú,ºÍÉÏÃæµÄ¼Ïñ²éѯ½Ó¿Ú¶ÀÁ¢
30. CLIENT_API LONG CALL_METHOD CLIENT_FindFile(LONG
lLoginID,int nChannelId,int nRecordFileType, char* cardid, LPNET_TIME time_start,LPNET_TIME time_end,bool bTime, int waittime); ? º¯Êý˵Ã÷£º´ò¿ªÂ¼Ïñ²éѯ¾ä±ú ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
nChannelId
ͨµÀºÅ£¬´Ó0¿ªÊ¼
nRecordFileType ¼ÏñÎļþÀàÐÍ 0 ËùÓмÏñÎļþ 1 Íⲿ±¨¾¯ 2 ¶¯Ì¬¼ì²â±¨¾¯ 3 ËùÓб¨¾¯ 4 ¿¨ºÅ²éѯ 5 ×éºÏÌõ¼þ²éѯ Cardid
¿¨ºÅ,Ö»Õë¶Ô¿¨ºÅ²éѯÓÐЧ Time_start
²éѯ¼Ïñ¿ªÊ¼Ê±¼ä
µÚ 39 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
Time_end
²éѯ¼Ïñ½áÊøÊ±¼ä
bTime
ÊÇ·ñ°´Ê±¼ä²éѯ(ĿǰÎÞЧ)
waittime
²éѯ³¬Ê±Ê±¼ä
? ·µ»ØÖµ£º³É¹¦·µ»Ø²éѯ¾ä±ú£¬Ê§°Ü·µ»Ø0
? Ïà¹Øº¯Êý£ºCLIENT_Login£¬ CLIENT_FindNextFile£¬ CLIENT_FindClose ? µäÐÍÓ¦Ó㺿ÉÒÔÔڻطÅ֮ǰÏȵ÷Óñ¾½Ó¿Ú²éѯ¼Ïñ¼Ç¼,ÔÙµ÷ÓÃ
CLIENT_FindNextFileº¯Êý°¤Ìõ·µ»ØÂ¼Ïó¼Ç¼ÓÃÓÚ²¥·Å£¬²éѯÍê±Ï¿ÉÒÔµ÷ÓÃCLIENT_FindClose¹Ø±Õ²éѯ¾ä±ú¡£
31. CLIENT_API int CALL_METHOD CLIENT_FindNextFile(LONG
lFindHandle,LPNET_RECORDFILE_INFO lpFindData); ? º¯Êý˵Ã÷£º²éѯÏÂÒ»Ìõ¼ÏñÎļþ¼Ç¼ ? ²ÎÊý˵Ã÷£º
lFindHandle
CLIENT_FindFileµÄ·µ»ØÖµ
lpFindData
¼ÏóÎļþ¼Ç¼»º³å£¬ÓÃÓÚÊä³ö²éѯµ½µÄ¼ÏóÎļþ¼Ç¼
? ·µ»ØÖµ£º1£º³É¹¦È¡»ØÒ»Ìõ¼Ïó¼Ç¼£¬0£ºÂ¼Ïó¼Ç¼ÒÑÈ¡Í꣬£1£º²ÎÊý³ö´í ? Ïà¹Øº¯Êý£ºCLIENT_FindFile
? µäÐÍÓ¦Ó㺵÷Óñ¾½Ó¿Ú֮ǰӦÏȵ÷ÓÃCLIENT_FindFileÒÔ´ò¿ª²éѯ¾ä±ú¡£
32. CLIENT_API BOOL CALL_METHOD CLIENT_FindClose(LONG
lFindHandle); ? º¯Êý˵Ã÷£º¹Ø±Õ¼Ïó²éѯ¾ä±ú ? ²ÎÊý˵Ã÷£º
lFindHandle
CLIENT_FindFileµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_FindFile
? µäÐÍÓ¦Ó㺵÷ÓÃCLIENT_FindFile´ò¿ª²éѯ¾ä±ú£¬²éѯÍê±ÏºóÓ¦µ÷Óñ¾º¯Êý
ÒԹرղéѯ¾ä±ú¡£
µÚ 40 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
33. CLIENT_API LONG CALL_METHOD
CLIENT_PlayBackByRecordFileEx(LONG lLoginID, LPNET_RECORDFILE_INFO lpRecordFile, HWND hWnd, fDownLoadPosCallBack cbDownLoadPos, DWORD dwPosUser, fDataCallBack fDownLoadDataCallBack, DWORD dwDataUser); ? º¯Êý˵Ã÷£º´øÊý¾Ý»Øµ÷µÄ°´Â¼ÏóÎļþ»Ø·ÅÀ©Õ¹½Ó¿Ú,ÿͨµÀͬһʱ¼äÖ»Äܲ¥·Å
Ò»Ôò¼Ïñ,²»ÄÜͬʱ²¥·ÅͬһͨµÀµÄ¶àÌõ¼Ç¼¡£´°¿Ú²ÎÊý£¨hWnd£©ÓÐЧʱ²»»Øµ÷Êý¾Ý£¬Èç¹ûÐèÒªÊý¾Ý»Øµ÷Ôò´°¿Ú²ÎÊý.(hWnd)±ØÐë´«0¡£ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
lpRecordFile
¼ÏñÎļþÐÅÏ¢
hWnd
»Ø·Å´°¿Ú
cbDownLoadPos
½ø¶È»Øµ÷º¯Êý
dwPosUser
½ø¶È»Øµ÷Óû§²ÎÊý
? ½ø¶È»Øµ÷º¯Êý²ÎÊý˵Ã÷£º²Î¼ûCLIENT_PlayBackByRecordFile
dwDataUser
Êý¾Ý»Øµ÷Óû§
? Êý¾Ý»Øµ÷º¯Êý²ÎÊý˵Ã÷£º
lRealHandle
CLIENT_PlayBackByRecordFileExµÄ·µ»ØÖµ
dwDataType
ÕâÀïΪ0(ÔʼÊý¾Ý)
pBuffer
Êý¾Ý»º³å
dwBufSize
»º³å³¤¶È
fDownLoadDataCallBack
Êý¾Ý»Øµ÷º¯Êý£¬ÔÐβμûµäÐÍÓ¦ÓÃ
dwUser
Óû§Êý¾Ý£¬¾ÍÊÇÉÏÃæÊäÈëµÄÓû§Êý¾ÝdwDataUser
¡¾×¢Òâ¡¿ ±¾»Øµ÷º¯ÊýµÄ·µ»ØÖµ»áÓ°ÏìSDKµÄÄÚ²¿²Ù×÷£º
·µ»Ø1 ´ú±í»Øµ÷³É¹¦£¬Ã»Ê²Ã´ÌØÊâÇé¿ö¶¼Ó¦¸Ã·µ»ØÕâ¸öÖµ
µÚ 41 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
·µ»Ø0 ´ú±í»Øµ÷º¯Êý¶ÂÈû£¬Õâ¸ö»áµ¼ÖÂͬһÊý¾ÝÖØ¸´·¢ËÍ£¬¼´»Ø·Å»
Ãæ»á³öÏÖÖØ¸´
·µ»Ø£1 ´ú±íϵͳ³ö´í£¬½«Ö±½Ó½áÊø»Ø·ÅỊ̈߳¬É÷Óã¡
? ·µ»ØÖµ£º³É¹¦·µ»ØÍøÂç»Ø·ÅID£¬Ê§°Ü·µ»Ø0 ? Ïà¹Øº¯Êý£ºCLIENT_Login¡¢CLIENT_PausePlayBack£¬CLIENT_SeekPlayBack¡¢
CLIENT_StopPlayBack¡¢CLIENT_GetPlayBackOsdTime¡¢
CLIENT_StepPlayBack¡¢CLIENT_GetFramePlayBack¡¢CLIENT_SetFramePlayBack¡¢CLIENT_SlowPlayBack¡¢CLIENT_FastPlayBack
? µäÐÍÓ¦ÓãºÈç¹û´°¿Ú²ÎÊýhWnd²»ÎªÁ㣬ÔòÊý¾Ý»Øµ÷²ÎÊý
£¨fDownLoadDataCallBack£¬dwDataUser£©ÎÞЧ£¬Èç¹û´°¿Ú²ÎÊýhWndΪÁã,Ôò»Øµ÷ÔÐÎΪ£º
typedef int(CALLBACK *fDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, DWORD dwUser);
34. CLIENT_API LONG CALL_METHOD CLIENT_PlayBackByTime(LONG
lLoginID, int nChannelID, LPNET_TIME lpStartTime, LPNET_TIME lpStopTime, HWND hWnd, fDownLoadPosCallBack cbDownLoadPos, DWORD dwUserData); ? º¯Êý˵Ã÷£ºÍøÂç»Ø·Å,ÐèҪ˵Ã÷µÄÊǶÔͬһÉ豸µÄͬһͨµÀµ±Ç°Ö»ÄÜͬʱ²¥·Å
Ò»¸öʱ¼ä¶Î¼Ïñ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
nChannelID
ͼÏñͨµÀºÅ£¬´Ó0¿ªÊ¼£¬±ØÐëÖ¸¶¨
lpStartTime
¿ªÊ¼Ê±¼ä
lpStopTime
½áÊøÊ±¼ä
hWnd
»Ø·Å´°¿Ú
cbDownLoadPos
½ø¶È»Øµ÷º¯Êý
dwUserData
Óû§×Ô¶¨ÒåÊý¾Ý
?
½ø¶È»Øµ÷º¯Êý²ÎÊý˵Ã÷£º²Î¼ûCLIENT_PlayBackByRecordFile
? ·µ»ØÖµ£º³É¹¦·µ»ØÍøÂç»Ø·ÅID£¬Ê§°Ü·µ»Ø0 ? Ïà¹Øº¯Êý£ºCLIENT_Login¡¢CLIENT_PausePlayBack£¬CLIENT_SeekPlayBack¡¢
CLIENT_StopPlayBack
CLIENT_StepPlayBack
¡¢¡¢
CLIENT_GetPlayBackOsdTimeCLIENT_GetFramePlayBack
¡¢¡¢
µÚ 42 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
CLIENT_SetFramePlayBack¡¢CLIENT_SlowPlayBack¡¢CLIENT_FastPlayBack
? µäÐÍÓ¦Ó㺲μûdemo
35. CLIENT_API LONG CALL_METHOD CLIENT_PlayBackByTimeEx(LONG lLoginID, int nChannelID, LPNET_TIME lpStartTime, LPNET_TIME lpStopTime, HWND hWnd, fDownLoadPosCallBack cbDownLoadPos, DWORD dwPosUser, fDataCallBack fDownLoadDataCallBack, DWORD dwDataUser); ? º¯Êý˵Ã÷£º´øÊý¾Ý»Øµ÷µÄ°´Ê±¼ä»Ø·ÅÀ©Õ¹½Ó¿Ú, ÿͨµÀͬһʱ¼äÖ»Äܲ¥·ÅÒ»
Ôò¼Ïñ,²»ÄÜͬʱ²¥·ÅͬһͨµÀµÄ¶àÌõ¼Ç¼¡£´°¿Ú²ÎÊý£¨hWnd£©ÓÐЧʱ²»»Øµ÷Êý¾Ý£¬Èç¹ûÐèÒªÊý¾Ý»Øµ÷Ôò´°¿Ú²ÎÊý.(hWnd)±ØÐë´«0¡£ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
nChannelID
ͼÏñͨµÀºÅ£¬±ØÐëÖ¸¶¨
lpStartTime
¿ªÊ¼Ê±¼ä
lpStopTime
½áÊøÊ±¼ä
hWnd
»Ø·Å´°¿Ú
cbDownLoadPos
½ø¶È»Øµ÷º¯Êý
dwPosUser
½ø¶È»Øµ÷Óû§²ÎÊý
? ½ø¶È»Øµ÷º¯Êý²ÎÊý˵Ã÷£º²Î¼ûCLIENT_PlayBackByRecordFile
fDownLoadDataCallBack
Êý¾Ý»Øµ÷º¯Êý
dwDataUser
Êý¾Ý»Øµ÷Óû§
? Êý¾Ý»Øµ÷º¯Êý²ÎÊý˵Ã÷²Î¼û£ºCLIENT_PlayBackByRecordFileExµÄÊý¾Ý»Øµ÷
º¯Êý²ÎÊý˵Ã÷¡£
¡¾×¢Òâ¡¿ ±¾»Øµ÷º¯ÊýµÄ·µ»ØÖµ»áÓ°ÏìSDKµÄÄÚ²¿²Ù×÷£º
·µ»Ø1 ´ú±í»Øµ÷³É¹¦£¬Ã»Ê²Ã´ÌØÊâÇé¿ö¶¼Ó¦¸Ã·µ»ØÕâ¸öÖµ¡£ ·µ»Ø0 ´ú±í»Øµ÷º¯Êý¶ÂÈû£¬Õâ¸ö»áµ¼ÖÂͬһÊý¾ÝÖØ¸´·¢ËÍ£¬¼´»Ø·Å»
Ãæ»á³öÏÖÖØ¸´;
·µ»Ø£1 ´ú±íϵͳ³ö´í£¬½«Ö±½Ó½áÊø»Ø·ÅỊ̈߳¬É÷Óã¡
? ·µ»ØÖµ£º³É¹¦·µ»ØÍøÂç»Ø·ÅID£¬Ê§°Ü·µ»Ø0 ? Ïà¹Øº¯Êý£ºCLIENT_Login¡¢CLIENT_PausePlayBack£¬CLIENT_SeekPlayBack£¬
µÚ 43 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
CLIENT_StopPlayBack¡¢CLIENT_GetPlayBackOsdTime¡¢CLIENT_StepPlayBack¡¢CLIENT_GetFramePlayBack¡¢CLIENT_SetFramePlayBack¡¢CLIENT_SlowPlayBack¡¢CLIENT_FastPlayBack
? µäÐÍÓ¦ÓãºÈç¹û´°¿Ú²ÎÊýhWnd²»ÎªÁ㣬ÔòÊý¾Ý»Øµ÷²ÎÊý£¨fDownLoadDataCallBack£¬dwDataUser£©ÎÞЧ£¬Èç¹û´°¿Ú²ÎÊýhWndΪÁã,Ôò»Øµ÷ÔÐÎΪ£º
typedef int(CALLBACK *fDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, DWORD dwUser);
²Î¼ûdemo
36. CLIENT_API BOOL CLIENT_StopPlayBack(LONG lPlayHandle); ? º¯Êý˵Ã÷£ºÍøÂç»Ø·ÅÍ£Ö¹ ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_PlayBackByRecordFile
CLIENT_PlayBackByRecordFileEx
CLIENT_PlayBackByTimeEx
¡¢
CLIENT_PlayBackByTime
¡¢¡¢
? µäÐÍÓ¦ÓãºÊäÈëÉÏÒ»½Ó¿Ú·µ»ØµÄ²¥·ÅID,µ÷Óñ¾½Ó¿Ú¾Í¿ÉÒÔÍ£Ö¹¿ØÖÆ 37.
CLIENT_API BOOL CLIENT_GetPlayBackOsdTime(LONG lPlayHandle, LPNET_TIME lpOsdTime, LPNET_TIME lpStartTime, LPNET_TIME lpEndTime);
? º¯Êý˵Ã÷£ºµÃµ½µ±Ç°ÍøÂç»Ø·ÅµÄOSDʱ¼ä£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWnd
ÓÐЧʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
lpOsdTime
OSDµÄʱ¼ä
lpStartTime
¿ªÊ¼Ê±¼ä
lpEndTime
½áÊøÊ±¼ä
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_PlayBackByRecordFile¡¢
CLIENT_PlayBackByRecordFileEx
CLIENT_PlayBackByTimeEx
¡¢
CLIENT_PlayBackByTime
¡¢
µÚ 44 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
? ²Î¼ûdemo
38. CLIENT_API LONG CLIENT_DownloadByRecordFile(LONG
lLoginID, LPNET_RECORDFILE_INFO lpRecordFile, char *sSavedFileName, fDownLoadPosCallBack cbDownLoadPos, DWORD dwUserData); ? º¯Êý˵Ã÷£ºÏÂÔØÂ¼ÏñÎļþ, ͨ¹ý²éѯµ½µÄÎļþÐÅÏ¢ÏÂÔØ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
lpRecordFile
¼ÏñÎļþÐÅÏ¢Ö¸Õë, µ±ÐèÒª°´Ê±¼ä¶ÎÏÂÔØÊ±Ö±½ÓÌî³ä¿ªÊ¼Ê±¼äºÍ½áÊøÊ±¼ä, ÆäËûÏîÌî0
sSavedFileName
Òª±£´æµÄ¼ÏñÎļþÃû£¬È«Â·¾¶
cbDownLoadPos
ÏÂÔØ½ø¶È»Øµ÷º¯Êý
dwUserData
ÏÂÔØ½ø¶È»Øµ÷Óû§×Ô¶¨ÒåÊý¾Ý
? ÏÂÔØ½ø¶È»Øµ÷º¯Êý²ÎÊý˵Ã÷£º²Î¼ûCLIENT_PlayBackByRecordFile
? ·µ»ØÖµ£º³É¹¦·µ»ØÏÂÔØID£¬Ê§°Ü·µ»Ø0
? Ïà¹Øº¯Êý£ºCLIENT_QueryRecordFile¡¢CLIENT_StopDownload£¬
CLIENT_GetDownloadPos ? µäÐÍÓ¦Ó㺸ù¾ÝÉÏÃæ²éѯµÄ¼Ç¼,¾Í¿ÉÒÔ½«Â¼Ïñ±£´æµ½Ö¸¶¨µÄÎļþ,ÏÂÔØ½ø¶È»Ø
µ÷Óë»Ø·Å½ø¶ÈÀàËÆ
39. CLIENT_API LONG CALL_METHOD CLIENT_DownloadByTime(LONG
lLoginID, int nChannelId, int nRecordFileType, LPNET_TIME tmStart, LPNET_TIME tmEnd, char *sSavedFileName, fTimeDownLoadPosCallBack cbTimeDownLoadPos, DWORD dwUserData); ? º¯Êý˵Ã÷£ºÖ±½ÓÊäÈëÖ¸¶¨Í¨µÀÆðʼʱ¼äºÍ½áÊøÊ±¼äÏÂÔØ·Å¼Ïñ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
nChannelId
ͼÏñͨµÀºÅ£¬´Ó0¿ªÊ¼
nRecordFileType
µÚ 45 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
±£Áô
tmStart
¿ªÊ¼Ê±¼ä
tmEnd
½áÊøÊ±¼ä
sSavedFileName
Òª±£´æµÄ¼ÏñÎļþÃû£¬È«Â·¾¶
cbTimeDownLoadPos
ÏÂÔØ½ø¶È»Øµ÷º¯Êý
dwUserData
ÏÂÔØ½ø¶È»Øµ÷Óû§×Ô¶¨ÒåÊý¾Ý
? ÏÂÔØ½ø¶È»Øµ÷º¯Êý²ÎÊý˵Ã÷²Î¼ûCLIENT_PlayBackByRecordFile
? ·µ»ØÖµ£º³É¹¦·µ»ØÏÂÔØID£¬Ê§°Ü·µ»Ø0
? Ïà¹Øº¯Êý£ºCLIENT_StopDownload£¬CLIENT_GetDownloadPos ? µäÐÍÓ¦Ó㺲μûdemo
40. CLIENT_API BOOL CLIENT_StopDownload(LONG lFileHandle); ? º¯Êý˵Ã÷£ºÍ£Ö¹ÏÂÔØÂ¼ÏñÎļþ ? ²ÎÊý˵Ã÷£º
lFileHandle
CLIENT_DownloadByRecordFileµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý£ºCLIENT_DownloadByRecordFile¡¢CLIENT_GetDownloadPos¡¢
CLIENT_DownloadByTime ? µäÐÍÓ¦Ó㺸ù¾ÝÐèÒª¿ÉÒÔµÈÎļþÏÂÔØÍêÁ˹رÕÏÂÔØ,Ò²¿ÉÒÔÏÂÔØµ½Ò»²¿·ÖÍ£Ö¹
ÏÂÔØ;
41. CLIENT_API BOOL CLIENT_GetDownloadPos(LONG lFileHandle,
int *nTotalSize, int *nDownLoadSize); ? º¯Êý˵Ã÷£º»ñµÃÏÂÔØÂ¼ÏñµÄµ±Ç°Î»ÖÃ,¿ÉÒÔÓÃÓÚ²»ÐèҪʵʱÏÔʾÏÂÔØ½ø¶ÈµÄ½Ó
¿Ú,ÓëÏÂÔØ»Øµ÷º¯ÊýµÄ¹¦ÄÜÀàËÆ ? ²ÎÊý˵Ã÷£º
lFileHandle
CLIENT_DownloadByRecordFileµÄ·µ»ØÖµ
nTotalSize
ÏÂÔØµÄ×ܳ¤¶È
nDownLoadSize
ÒÑÏÂÔØµÄ³¤¶È
µÚ 46 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý£ºCLIENT_DownloadByRecordFile¡¢CLIENT_StopDownload¡¢
CLIENT_DownloadByTime
? µäÐÍÓ¦ÓãºÓÃÓÚ²»´òËãͨ¹ý»Øµ÷¼ÆËã½ø¶È,¿É¶¨Ê±µ÷Óñ¾½Ó¿Ú»ñÈ¡µ±Ç°½ø¶È;
4.10 »Ø·Å¿ØÖÆ
42. CLIENT_API BOOL CLIENT_PausePlayBack(LONG lPlayHandle,
BOOL bPause); ? º¯Êý˵Ã÷£ºÍøÂç»Ø·ÅÔÝÍ£Óë»Ö¸´²¥·Å£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWndÓÐЧ
ʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
bPause
ÍøÂç»Ø·ÅÔÝÍ£Óë»Ö¸´²¥·Å²ÎÊý
1 ÔÝÍ£
0 »Ö¸´
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_PlayBackByRecordFile¡¢
CLIENT_PlayBackByRecordFileEx¡¢CLIENT_PlayBackByTime¡¢
CLIENT_PlayBackByTimeEx¡¢CLIENT_SeekPlayBack¡¢CLIENT_StopPlayBack
? µäÐÍÓ¦Ó㺶ÔÒѾ´ò¿ªµÄ²¥·Å½øÐÐÔÝÍ£ºÍ»Ö¸´¿ØÖÆ
43. CLIENT_API BOOL CLIENT_SeekPlayBack(LONG lPlayHandle,
unsigned int offsettime, unsigned int offsetbyte); ? º¯Êý˵Ã÷£º¸Ä±äλÖò¥·Å,¼´Í϶¯²¥·Å£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWndÓÐЧ
ʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
offsettime
Ïà¶ÔÎļþ¿ªÊ¼´¦Æ«ÒÆÊ±¼ä£¬µ¥Î»ÎªÃë .µ±ÆäֵΪ0xffffffffʱ,¸Ã²ÎÊýÎÞЧ.
offsetbyte
Ïà¶ÔÎļþ¿ªÊ¼´¦Æ«ÒÆ×Ö½Ú, µ±ÆäֵΪ0xffffffffʱ, ¸Ã²ÎÊýÎÞЧ£»µ±
offsettimeÓÐЧµÄʱºò,´Ë²ÎÊýÎÞÒâÒå.
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_PlayBackByRecordFile
CLIENT_PlayBackByRecordFileEx
¡¢
CLIENT_PlayBackByTime
¡¢
¡¢
µÚ 47 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
CLIENT_PlayBackByTimeEx£¬CLIENT_SeekPlayBack£¬CLIENT_StopPlayBack
? µäÐÍÓ¦Ó㺶ÔÒѾ´ò¿ªµÄ²¥·Å½øÐж¨Î»²¥·Å¿ØÖÆ,Ò»°ãÓÃÓÚÍ϶¯½ø¶ÈÌõ¿ØÖÆ
44. CLIENT_API BOOL CLIENT_StepPlayBack(LONG lPlayHandle,
bool bStop); ? º¯Êý˵Ã÷£ºµ¥²½²¥·Å, µ÷ÓÃÒ»´Î²¥·Åһ֡ͼÏñ£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊý
hWndÓÐЧʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
bStop
ÊÇ·ñÍ£Ö¹µ¥²½²¥·Å, ÔÚ½áÊøµ¥²½Ê±µ÷ÓÃ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý: CLIENT_PlayBackByRecordFile¡¢
CLIENT_PlayBackByRecordFileEx
CLIENT_PlayBackByTimeEx
¡¢
CLIENT_PlayBackByTime
¡¢
? µäÐÍÓ¦ÓãºÓÃÓڶԹؼüÊý¾ÝµÄµ¥Ö¡²¥·Å, ²¢ÇÒbStopÒªÉèÖÃΪTRUE,Çл»µ½
ÆäËû²¥·Å֮ǰҪÔÙµ÷Óñ¾½Ó¿Ú¹Ø±Õµ¥²½²¥·Å²ÅÄÜÕý³£Ö´ÐÐÆäËûµÄ²¥·Åģʽ
45. CLIENT_API BOOL CLIENT_FastPlayBack(LONG lPlayHandle); ? º¯Êý˵Ã÷£º¿ì·Å,½«µ±Ç°Ö¡ÂÊÌá¸ßÒ»±¶,µ«ÊDz»ÄÜÎÞÏÞÖÆµÄ¿ì·Å,Ŀǰ×î´ó120,
´óÓÚʱ·µ»ØFALSE, ÓÐÒôƵµÄ»°²»¿ÉÒÔ¿ì·Å£¬Âý·ÅûÓÐÎÊÌ⣬ֻÓдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWndÓÐЧʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý: CLIENT_SlowPlayBack£¬CLIENT_PlayBackByRecordFile¡¢
CLIENT_PlayBackByRecordFileExCLIENT_PlayBackByTimeEx
¡¢
CLIENT_PlayBackByTime
¡¢
? µäÐÍÓ¦ÓãºÒªÇó¿ì¾µÍ·²¥·ÅµÄÇé¿ö
46. CLIENT_API BOOL CLIENT_SlowPlayBack(LONG lPlayHandle); ? º¯Êý˵Ã÷£ºÂý·Å,½«µ±Ç°Ö¡ÂʽµµÍÒ»±¶,×îÂýΪÿÃëÒ»Ö¡,СÓÚ1Ôò·µ»ØFALSE£¬
Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWndÓÐЧʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå
? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
µÚ 48 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
? Ïà¹Øº¯Êý: CLIENT_FastPlayBack£¬CLIENT_PlayBackByRecordFile¡¢
CLIENT_PlayBackByRecordFileExCLIENT_PlayBackByTimeEx
¡¢
CLIENT_PlayBackByTime
¡¢
? µäÐÍÓ¦ÓãºÒªÇóÂý¶¯×÷²¥·ÅµÄÇé¿ö 47. CLIENT_API BOOL CLIENT_SetFramePlayBack(LONG lPlayHandle,
int framerate); ? º¯Êý˵Ã÷£ºÉèÖûطÅÖ¡ÂÊ, Ŀǰ¶¨ÒåµÄ·¶Î§ÊÇ(1~120),³¬¹ýÕâ¸ö·¶Î§·µ»Ø
FALSE£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWndÓÐЧʱ¸Ãº¯Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
framerate
Ö¡ÂÊ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý: CLIENT_GetFramePlayBack¡¢CLIENT_PlayBackByRecordFile¡¢
CLIENT_PlayBackByRecordFileExCLIENT_PlayBackByTimeEx
¡¢
CLIENT_PlayBackByTime
¡¢
? µäÐÍÓ¦Óãº×ÔÉ趨֡Âʲ¥·Å,
48. CLIENT_API BOOL CLIENT_GetFramePlayBack(LONG lPlayHandle,
int *fileframerate, int *playframerate); ? º¯Êý˵Ã÷£ºµÃµ½µ±Ç°»Ø·ÅÖ¡ÂÊ£¬Ö»Óдò¿ªÍ¼ÏñµÄº¯Êý²ÎÊýhWndÓÐЧʱ¸Ãº¯
Êý»ñÈ¡µÄ²ÎÊý²ÅÓÐЧ£¬·ñÔòÎÞÒâÒå ? ²ÎÊý˵Ã÷£º
lPlayHandle
CLIENT_PlayBackByRecordFileµÄ·µ»ØÖµ
playframerate
·µ»ØµÄÖ¡ÂÊ
? ·µ»ØÖµ£º³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE
? Ïà¹Øº¯Êý: CLIENT_SetFramePlayBack¡¢CLIENT_PlayBackByRecordFile¡¢
CLIENT_PlayBackByRecordFileExCLIENT_PlayBackByTimeEx
¡¢
CLIENT_PlayBackByTime
¡¢
? µäÐÍÓ¦ÓãºÓëÉÏÒ»½Ó¿Ú¶ÔÓ¦,»ñÈ¡µ±Ç°µÄ²¥·ÅÖ¡ÂÊ, ¶Ôµ¥Ö¡²¥·ÅÊÇÎÞЧ,»ò»ñÈ¡
µÄΪ֮ǰµÄ²¥·ÅÖ¡ÂÊ;
µÚ 49 Ò³ ¹² 93 Ò³ ÍøÂç¿Í»§¶ËSDK±à³ÌÊÖ²á
4.11 ÔÆÌ¨¿ØÖÆ
49. CLIENT_API BOOL CLIENT_PTZControl(LONG lLoginID, int
nChannelID, DWORD dwPTZCommand, DWORD dwStep, BOOL dwStop); ? º¯Êý˵Ã÷£ºÔÆÌ¨¿ØÖÆ ? ²ÎÊý˵Ã÷£º
lLoginID
CLIENT_LoginµÄ·µ»ØÖµ
nChannelID
ͨµÀºÅ
dwPTZCommand
Ö§³ÖÒÔÏÂÔÆÌ¨¿ØÖÆÃüÁî
typedef enum PTZ_ControlType{ PTZ_UP_CONTROL = 0, PTZ_DOWN_CONTROL, PTZ_LEFT_CONTROL, PTZ_RIGHT_CONTROL, PTZ_ZOOM_ADD_CONTROL, PTZ_ZOOM_DEC_CONTROL, PTZ_FOCUS_ADD_CONTROL, PTZ_FOCUS_DEC_CONTROL, PTZ_APERTURE_ADD_CONTROL, PTZ_APERTURE_DEC_CONTROL, PTZ_POINT_MOVE_CONTROL, PTZ_POINT_SET_CONTROL, PTZ_POINT_DEL_CONTROL, PTZ_POINT_LOOP_CONTROL, PTZ_LAMP_CONTROL };
//ÉÏ //Ï //×ó //ÓÒ //±ä±¶+ //±ä±¶- //µ÷½¹+ //µ÷½¹- //¹âȦ+ //¹âȦ-
//תÖÁÔ¤Öõã //ÉèÖà //ɾ³ý //µã¼äÂÖÑ //µÆ¹âÓêË¢
dwStep
²½½ø/ËÙ¶È£¬·¶Î§1~8, 8¿ØÖÆÐ§¹û×îÃ÷ÏÔ£¬²Ù×÷Ô¤ÖõãʱdwStepΪԤÖõãÖµ dwStop
ÊÇ·ñÍ£Ö¹£¬Ô¤Öõã²Ù×÷¼°ÒÔϵÄÃüÁîΪFALSE
? ·µ»ØÖµ£º ³É¹¦·µ»ØTRUE£¬Ê§°Ü·µ»ØFALSE ? Ïà¹Øº¯Êý£ºCLIENT_Login
? µäÐÍÓ¦Ó㺠¶ÔÁ¬½ÓÉ豸½øÐÐÔÆÌ¨¿ØÖÆ,ͨ³£µÄÓ¦ÓÃÊÇ´ò¿ª¼àÊÓͨµÀ,¿ÉÒÔ¿´µ½
»ÃæÔÆÌ¨¿ØÖƵÄЧ¹û,¶øÇÒ±ØÐëÉèÖøü¸Äǰ¶ËÉ豸µÄÔÆÌ¨¿ØÖÆÅäÖóɶÔÓ¦µÄ
µÚ 50 Ò³ ¹² 93 Ò³