LONG VSNET_ClientStart(char *m_url,CHANNEL_CLIENTINFO *m_pChaninfo,WORD wserport = 3000)
说明:与服务器建立连接,并实时预览图像;
参数说明:
m_url:服务器的地址或转发服务器的地址;
m_pChaninfo:CHANNEL_CLIENTINFO的指针;
wserport:服务器或转发服务器的端口号;
返回值:-1表示失败,其他值作为VSNET_ClientStop,VSNET_ClientStartCaptureFile等函数的参数;CHANNEL_CLIENTINFO结构:
typedef struct{
char *m_sername;
char *m_username;
char *m_password;
WORD m_tranType;
WORD m_playstart;
BYTE m_ch;
HWND m_hVideohWnd;
HWND m_hChMsgWnd;
UINT m_nChmsgid;
int m_buffnum;
int m_useoverlay;
COLORREF nColorKey;
void (WINAPI *m_messagecallback)(LONG hHandle,int wParam,int lParam,void *context);
void *context;
}CHANNEL_CLIENTINFO;
说明:
m_sername:服务器名称,如果是通过转发服务器连接时需要该名称检索服务器;
m_username:用户名,长度不超过20个字符;
m_password:密码,长度不超过20个字符;
m_tranType:连接模式,1:UDP方式,2:多播方式,3:TCP方式;
m_playstart:启动实时预览,TRUE:成功连接服务器后开始实时预览图像,FALSE:连接服务器后不预览图像,可以调用VSNET_ClientStartView手动启动实时预览;
m_ch:连接服务器的通道;
m_hVideohWnd:播放窗口句柄;
m_hChMsgWnd: 通道消息通知窗口句柄,可以为NULL,用VSNET_ClientStartup注册的窗口接收消息
m_nChmsgid:  通道消息号;
m_buffnum:   播放用的缓冲大小,范围10-50,值越小可能会有丢失包的问题,越大效果越好,但会占用更过的内存;
m_useoverlay:OVERLAY使用标志,TRUE:表示创建OVERLAY的表面,如果OVERLAY表面创建失败,会自动使用其它的表面;
nColorKey:保留;
m_messagecallback:消息回调函数
context:用户上下文
注意:如果通过转发服务器连接图像时需要SDK校验服务器名称(m_sername),如果你没有输入服务器名称,连接通道后会返回-112错误:没有找到服务器索引。
消息回调函数返回失败时,不能在回调函数调用VSNET_ClientStop,可以同时使用消息和回调函数。---------------------------------
vc 代码转成delphi代码,谢谢!

解决方案 »

  1.   

    //LONG VSNET_ClientStart(char *m_url,CHANNEL_CLIENTINFO *m_pChaninfo,WORD wserport = 3000) 
    function VSNET_ClientStart(m_url: PAnsiChar; m_pChaninfo: LPCHANNEL_CLIENTINFO; wserport :WORD = 3000): LongInt;(*stdcall; or cdecl;*) external 'xxx.dll';说明:与服务器建立连接,并实时预览图像; 
    参数说明: 
    m_url:服务器的地址或转发服务器的地址; 
    m_pChaninfo:CHANNEL_CLIENTINFO的指针; 
    wserport:服务器或转发服务器的端口号; 
    返回值:-1表示失败,其他值作为VSNET_ClientStop,VSNET_ClientStartCaptureFile等函数的参数; CHANNEL_CLIENTINFO结构: 
    typedef struct{ 
    char *m_sername; 
    char *m_username; 
    char *m_password; 
    WORD m_tranType; 
    WORD m_playstart; 
    BYTE m_ch; 
    HWND m_hVideohWnd; 
    HWND m_hChMsgWnd; 
    UINT m_nChmsgid; 
    int m_buffnum; 
    int m_useoverlay; 
    COLORREF nColorKey; 
    void (WINAPI *m_messagecallback)(LONG hHandle,int wParam,int lParam,void *context); 
    void *context; 
    }CHANNEL_CLIENTINFO; 
    type
      LPCHANNEL_CLIENTINFO = ^CHANNEL_CLIENTINFO;
      CHANNEL_CLIENTINFO = (*packed {如果C++当中使用了pack(1)之类的}*) record
        m_sername: PAnsiChar; 
        m_username: PAnsiChar; 
        m_password: PAnsiChar; 
        m_tranType: Word; 
        m_playstart: Word; 
        m_ch: Byte; 
        m_hVideohWnd: THandle; 
        m_hChMsgWnd: THandle; 
        m_nChmsgid: LongWord; 
        m_buffnum: Integer; 
        m_useoverlay: Integer; 
        nColorKey: COLORREF; 
    void (WINAPI *m_messagecallback)(LONG hHandle,int wParam,int lParam,void *context); 
        context: Pointer; 
    end;说明: 
    m_sername:服务器名称,如果是通过转发服务器连接时需要该名称检索服务器; 
    m_username:用户名,长度不超过20个字符; 
    m_password:密码,长度不超过20个字符; 
    m_tranType:连接模式,1:UDP方式,2:多播方式,3:TCP方式; 
    m_playstart:启动实时预览,TRUE:成功连接服务器后开始实时预览图像,FALSE:连接服务器后不预览图像,可以调用VSNET_ClientStartView手动启动实时预览; 
    m_ch:连接服务器的通道; 
    m_hVideohWnd:播放窗口句柄; 
    m_hChMsgWnd: 通道消息通知窗口句柄,可以为NULL,用VSNET_ClientStartup注册的窗口接收消息 
    m_nChmsgid:  通道消息号; 
    m_buffnum:  播放用的缓冲大小,范围10-50,值越小可能会有丢失包的问题,越大效果越好,但会占用更过的内存; 
    m_useoverlay:OVERLAY使用标志,TRUE:表示创建OVERLAY的表面,如果OVERLAY表面创建失败,会自动使用其它的表面; 
    nColorKey:保留; 
    m_messagecallback:消息回调函数 
    context:用户上下文 
    注意:如果通过转发服务器连接图像时需要SDK校验服务器名称(m_sername),如果你没有输入服务器名称,连接通道后会返回-112错误:没有找到服务器索引。 
    消息回调函数返回失败时,不能在回调函数调用VSNET_ClientStop,可以同时使用消息和回调函数。 
      

  2.   

    //朗驰视频服务器数据结构
    type
      channel_clientinfo = record
         m_sername:string; //服务器名称
         m_username:string; //登陆用户名
         m_password:string; //登陆密码
         m_tranType:word;  //连接模式(=1:UDP,=2:多播,=3:TCP)这里采用3=TCP
         m_playstart:word; //启动实时预览
         m_ch:byte;        //视频服务器通道号
         m_hVideohWnd:HWND; //播放窗口句柄
         m_hChMsgWnd:HWND;  //通道消息通知句柄
         m_nChmsgid:uint;   //通道消息号
       m_buffnum:integer; //播放用的缓冲大小
       m_useoverlay:integer; // Overlay使用标志
       nColorKey:Colorref;   //
                                        //消息回调函数
         m_messagecallback:procedure(hHandle: longint; wParam: integer; lParam: integer; context:  Pointer); stdcall;
         //void (WINAPI *m_messagecallback)(LONG hHandle,int wParam,int lParam,void *context);
         context:string;
      end;
      

  3.   

    楼主怎么联系,我也是做朗驰SDK的,联系我!QQ:155160483