海康二次开发资料_第1页
海康二次开发资料_第2页
海康二次开发资料_第3页
海康二次开发资料_第4页
海康二次开发资料_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、流媒体二次开发一C+(2012-03-16 18:00:45)转载标签: HYPERLINK .en/s/blog_6310d7110100 xu49.html .en/s/blog_6310d7110100 xu49.html流媒体开发 it好了,现在让我们先从VC6.0开始研究海康流媒体二次开发吧。首先,联系杭州海康威视官方获取流媒体二次开发SDK文档和Demo示例 (client.dlLPlayM4.dll)这两个Dll文件是进行流媒体二次开发必需DLL。接着,用官方Demo 里的.exe程序测试你所获取的流媒体实时流是否可用。好了,到这里如果可以看到视频播放 了,那么你的流媒体实时流U

2、RL就是正确的了。运行VC6.0,打开clientTest工程文件,如果没有看见clientTest.dsw,可以任意打开一个.cpp 文件,编译时系统自动生成.dsw工程文件。这里需注意的是,本文运用的是VC6.0,因此海 康Demo里的例子编译会提示出错信息:无法识别关键字super。在研究过程中,我将这些 编译错误一一解决,编译通过,但是运行时,却无启动任何操作界面。于是结合SDK开发 文档,研究Demo里流媒体播放的代码,发现不是很复杂,于是就自己在VC6.0重新写一 个测试流媒体播放的程序。1. C+新建 MFC AppWizardexe工程(单个或多个 Dialog)2,在Dial

3、og上拖拉picture, button, editbox控件,并右击属性更改控件名称K3 I心甘顽修!TjtpeS7 K3 I心甘顽修!TjtpeS7 Visible厂 GroupIrnaqe:Dibbled厂 ldbtOolnr;r Help ID七曳 General Stytes Exlenried StylesBhmapBIT MAPI这里的picture里的Image可以通过菜单Insert-Resource,导入图片(系统自动命名IDB_BITMAP1),然后在上述picture属性框中Image选择导入图片名称即可。3.接着选择button,右击选中ClassWizard,添加点

4、击事件可以看到Button默认有BN_CLICKED,BN_DOUBLECLICKED事件,因此可以不必再添加。可以看见Dialog中所有控件都在此显示,因此在这里我们为EditBox添加变量右击Button,选择Events,可以更改单击事件名称OnBtnPlay双击Button,进入点击事件,可以在此编写播放事件(暂时不编写,等待准备工作就绪再编写)6.工程 FileView 视图-HeadFiles 导入 client.h,clntsink.h 7,更改clientTestDlg.h文件,继承clntsink回调函数集,并声明2个全局变量, intm_hSession;intm_hdow

5、n;#include client.h”#include afxcmn.h#include afxwin.h#endif _MSC_VER 1000lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll CClientTestDlg dialog#define NORMALBACK#ifdef NORMALBACKclassCClientTestDlg : public CDialog,publicIHikClientAdviseSink#elseclassCClientTestDlg : pu

6、blic CDialog#endifll Constructionpublic:CClientTestDlg(CWnd* pParent = NULL); standard constructor#ifdef NORMALBACKvirtualintOnPosLength(unsigned long nLength);virtualintOnPresentationOpened(int success);virtualintOnPresentationClosed();virtualintOnPreSeek(unsigned long uOldTime, unsigned long uNewT

7、ime);virtualintOnPostSeek(unsigned long uOldTime, unsigned long uNewTime);virtualintOnStop();virtualintOnPause(unsigned long uTime);virtualintOnBegin(unsigned long uTime);virtualintOnRandomBegin(unsigned long uTime);virtualintOnContacting(const char* pszHost);virtualintOnBuffering(unsigned intuFlag,

8、 unsigned short uPercentComplete);virtualintOnPutErrorMsg(const char* pError);virtualintOnChangeRate(int flag);virtualintOnDisconnect();#endif public:intm_hSession;intm_hdown;更改clientTest.cpp文件(引用client.h),在初始化InitInstance中加入 InitStreamClientLib();, FiniStreamClientLib();到这里,我们可以开始在clientTestDlg.cpp

9、 (引用client.h, clintsink.h)中编写Button点击 事件:/ TODO: Add your control notification handler code hereintnRet;if (m_hSession=0)nRet=HIKS_Stop(m_hSession);m_opened=-1;HWND hWnd = GetDlgItem(IDC_STATIC_PictureShow)-GetSafeHwnd();m_hSession=HIKS_CreatePlayer(this,hWnd,DoRecord);if (m_hSession!=-1)UpdateData(

10、true);nRet=HIKS_OpenURL(m_hSession,m_URLvalue.GetBuffer(0),0);HIKS_Destroy(m_hSession);m_hSession=-1;m_opened=-1;return;while (m_opened 0)Sleep(500);if (m_opened= 0)HIKS_Destroy(m_hSession);m_hSession = -1;m_opened = -1;nRet=HIKS_Play(m_hSession);HIKS_Stop(m_hSession);m_hSession = -1;m_opened = -1;注意:菜单栏 P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论