MFC调用VLC ActiveX plugin v2

MFC调用VLC ActiveX控件v1的例子有很多,调用v2的确很少。但v2实现的功能要多出很多,迫于无奈, 居士@西禅寺 硬着头皮去实现v2。有些地方与调用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 v2"

  工程中已经比原来增加不少的文件,我们要调用的是vlccontrol2.h,所以认真看下vlccontrol2相当有必要。具体到实现某个功能是去调用其他文件,下面会提到。

  我建的工程名是VLC2.在VLC2Dlg.cpp中,添加

  #include "vlccontrol2.h"
  #include "vlcplaylist.h"

  声明全局变量,

  CVLCControl2 *pvlc2;
  CVLCPlaylist pvlcPlaylist;

  在初始化对话框时,CVLC2Dlg::OnInitDialog()中添加代码,如下:

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

 

  对按钮“确定”和“取消”Add and Edit。

 

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

    //option用来设置参数,此例是设置反交错参数
     BSTR option = SysAllocString(L":vout-filter=deinterlace :deinterlace-mode=mid");
     BSTR name = SysAllocString(L"vlc show");

 

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

 

     VARIANT vName;
     vName.vt = VT_BSTR;
     VariantInit( &vName );
     vName.bstrVal = name;

 

     pvlcPlaylist = pvlc2->GetPlaylist();
     pvlcPlaylist.add( "udp://@239.202.0.5:5001", vName, vOption);

    //播放本地视频pvlcPlaylist.add( "D:\DISC.rm", vName, vOption);

    //如果你要用到其他功能,你应当使用Get的其他函数【1】。比如操作声音、时间、视频等等
     pvlcPlaylist.play();

 
     //CDialog::OnOK();
  }

  【1】vlccontrol2.h中有GetAudio、GetInput()、GetLog()、GetPlaylist()、GetVideo();

 

  void CVLC2Dlg::OnCancel()
  {
     // TODO: Add extra cleanup here
     pvlcPlaylist.stop(); 
     if( pvlc2 != NULL )
        delete pvlc2;
 
     CDialog::OnCancel();
  }

自己摸索的,可能看法会有错误,大家斧正。不过可以保证的是代码是可运行的。

转载于:https://www.cnblogs.com/jqlin/archive/2009/11/30/1613987.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值