´ó»ªÍøÂçSDK¿ª·¢ÊÖ²á ÏÂÔØ±¾ÎÄ

´ó»ªÍøÂç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 Ò³