有人用DELPHI做过海康威视流媒体SDK二次开发吗?
现在二次开发流媒体,使用delphi语言//定义dll函数 unit HikStreamSDK;interface
uses
  Windows;type  pDataRec = function (sID, iUsrdata, iDataType: Longint;  pData: PByte;  iLen: Longint): Longint;  cdecl;
  pMsgBack = function (sID, opt, param1, param2: Longint): Longint;  cdecl;
  //作用:初始化ACE。该函数需要在窗口程序初始化时调用
  Function  InitStreamClientLib():LongInt;stdcall;external 'client.dll' name 'InitStreamClientLib';
  //作用:关闭ACE。该函数需要在窗口程序关闭时时调用
  Function  FiniStreamClientLib():LongInt;stdcall;external 'client.dll' name 'FiniStreamClientLib';
  //作用:创建Player
  function  HIKS_CreatePlayer(pSink: Pointer;  pWndSiteHandle: HWND;  pRecFunc: pDataRec;
                             pMsgFunc: pMsgBack = nil;  TransMethod: Longint = 0): Longint;  stdcall;  external 'client.dll' name 'HIKS_CreatePlayer';
  //作用:根据URL,连接服务器。
  function  HIKS_OpenURL(hSession: Longint;  pszURL: PChar;  iusrdata: Longint): Longint;  stdcall;  external 'client.dll' name 'HIKS_OpenURL';
  //作用:播放。hSession 是Player 的标示。
  function  HIKS_Play(hSession:Integer) : Longint;   stdcall;  external 'client.dll' name 'HIKS_Play'; implementationend.
 //代码 function  MypDataRec(sID, iUsrdata, iDataType: Longint;  pData: PByte;  iLen: Longint): Longint; cdecl;
begin
end;function  MypMsgBack (sID, opt, param1, param2: Longint): Longint; cdecl;
begin
end;procedure TMain_Frm.Button1Click(Sender: TObject);
var 
   m_hSession,nRet:Integer;
begin
   nRet:=InitStreamClientLib();
   Memo1.Lines.Add(IntToStr(nRet));
   m_hSession:=HIKS_CreatePlayer(nil,Panel1.Handle,nil,MypMsgBack,1);
   Memo1.Lines.Add(IntToStr(m_hSession));
  
   nRet:=HIKS_OpenURL(m_hSession,Pchar('rtsp://192.168.1.155/192.168.1.207:8000:HIK-DS8000HC:0:0:admin:12345/av_stream'),0);  Memo1.Lines.Add(IntToStr(nRet));
end; end. 问题出在HIKS_OpenURL函数,使用后直接报错,但是在流媒体服务端可以看到客户端已经登录了,不知错在那里??

解决方案 »

  1.   

    HIKS_OpenURL有3个参数,你怎么用两个参数调用?
      

  2.   


    nRet:=HIKS_OpenURL(m_hSession,Pchar('rtsp://192.168.1.155/192.168.1.207:8000:HIK-DS8000HC:0:0:admin:12345/av_stream'),0);是用3个参数啊 
    报读地址错误
      

  3.   

    函数原形:
    typedef int (__stdcall *pDataRec)(int sid, int iusrdata, int idatatype, char* pdata, int ilen);
    typedef int (__stdcall *pMsgBack)(int sid, int opt, int param1, int param2);
    typedef int HSESSION;CLIENT_API int __stdcall InitStreamClientLib(void);
    CLIENT_API int __stdcall FiniStreamClientLib(void);
    CLIENT_API HSESSION __stdcall HIKS_CreatePlayer(IHikClientAdviseSink* pSink, void* pWndSiteHandle, pDataRec pRecFunc, pMsgBack pMsgFunc = 0,int TransMethod = 0);
    CLIENT_API int __stdcall HIKS_OpenURL(HSESSION hSession,const char* pszURL,int iusrdata);
    CLIENT_API int __stdcall HIKS_Play(HSESSION hSession);
    CLIENT_API int __stdcall HIKS_RandomPlay(HSESSION hSession,unsigned long timepos);
    CLIENT_API int __stdcall HIKS_Pause(HSESSION hSession);
    CLIENT_API int __stdcall HIKS_Resume(HSESSION hSession);
    CLIENT_API int __stdcall HIKS_Stop(HSESSION hSession);
    CLIENT_API int __stdcall HIKS_GetCurTime(HSESSION hSession,unsigned long *utime);
    CLIENT_API int __stdcall HIKS_ChangeRate(HSESSION hSession,int scale);
    CLIENT_API int __stdcall HIKS_Destroy(HSESSION hSession);
    CLIENT_API int __stdcall HIKS_GetVideoParams(HSESSION hSession, int *ibri, int *icon, int *isat, int *ihue);
    CLIENT_API int __stdcall HIKS_SetVideoParams(HSESSION hSession, int ibri, int icon, int isat, int ihue);
    CLIENT_API int __stdcall HIKS_PTZControl(HSESSION hSession, unsigned int ucommand, int iparam1, int iparam2, int iparam3, int iparam4);
    CLIENT_API int __stdcall HIKS_SetVolume(HSESSION hSession,unsigned short volume);
    CLIENT_API int __stdcall HIKS_OpenSound(HSESSION hSession,bool bExclusive=false);
    CLIENT_API int __stdcall HIKS_CloseSound(HSESSION hSession);
    CLIENT_API int __stdcall HIKS_ThrowBFrameNum(HSESSION hSession,unsigned int nNum);
    CLIENT_API int __stdcall HIKS_GrabPic(HSESSION hSession,const char* szPicFileName, unsigned short byPicType);
      

  4.   

    楼主试试这个SDK:http://www.anychat.cn/faq/
      

  5.   

    http://download.csdn.net/source/2194836