zoukankan      html  css  js  c++  java
  • MFC中调用VLC ActiveX plugin v1

    看了一些博客,对VLC的ActiveX控件调用,写的不是很清楚。所以以菜鸟的角度写两篇博文,谢谢那些帮助我的人,让其他人少走弯路。这篇是调用ActiveX plugin v1,比较简单一点。

    环境:Windows XP, VC 6.0

    1.注册VLC的ActiveX控件

      网上有很多,可以自己查。最简单的办法是安装一个VLC。系统自动注册。

    2.不废话,列详细步骤

      在VC6.0中,“新建”->“工程”->“MFC AppWizard[exe]”。选择您要建立的程序应用类型是“基本对话框”,点击"完成"。

      “工程”->“增加到工程”->“Components and Control Gallery”->"Registered ActiveX Controls"->双击"VideoLAN VLC ActiveX Plugin v1"

      工程中已经比原来增加两个新文件,即vlccontrol.h和vlccontrol.cpp。要看这两个文件的功能,到vlccontrol.h中,可以看到一系列的public函数。相信,你一看就懂。

      我设置的工程名是VCL1.

      在VLC1Dlg.cpp中,#include "vlccontrol.h"、声明全局变量CVLCControl *pvlc;

      在CVLC1Dlg::OnInitDialog()添加代码,如下:

       pvlc = NULL;
       pvlc = new CVLCControl();
       pvlc->Create( "vlc show", SW_SHOW, CRect(0,0,370,280), this, 1234);
       pvlc->ShowWindow( SW_SHOWNORMAL );
       pvlc->SetVisible( true );

      对按钮“确定”和“取消”进行编辑。Add end Edit。

      void CVLC1Dlg::OnOK()
      {
         // TODO: Add extra validation here

        //反交错,当然你也可以设置别的参数
         BSTR option = SysAllocString(L":vout-filter=deinterlace :deinterlace-mode=mid");

         VARIANT va;
         va.vt = VT_BSTR; 
         VariantInit( &va );
         va.bstrVal = option;

        //播放UDP流

         pvlc->addTarget("udp://@239.202.0.5:5001", va, 1, 0);

        //播放本地视频

        //pvlc->addTarget("D:\DISC.rm", va, 1, 0);
         pvlc->play();


         //CDialog::OnOK();
      }

      void CVLC1Dlg::OnCancel()
      {
         // TODO: Add extra cleanup here
         if( pvlc != NULL )
            delete pvlc;
     
         CDialog::OnCancel();
      }

    应该说是最简单明了的介绍了。纯属帮助入门的人。

  • 相关阅读:
    开发常见错误之 :Missing artifact com.sun:tools:jar 1.7.0
    开发常见错误之 : Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar
    kafka集群部署
    kafka
    Oracle 学习之触发器
    CloudSetuper
    erlang :打开界面工具的命令
    erlang 二进制中 拼接 变量或者函数 报错
    Python内部机制。
    AOP (面向切面编程)
  • 原文地址:https://www.cnblogs.com/jqlin/p/1613986.html
Copyright © 2011-2022 走看看