第一范文网 - 专业文章范例文档资料分享平台

vlc的应用之二:vlc的ActiveX及cab

来源:用户分享 时间:2025/7/10 18:37:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

vlc的应用之二:vlc的ActiveX及cab

2009-05-14补充:8. Activex的卸载;9. 让vlc自动安装Activex ;10. 关于vlc的Activex的说明。

vlc自带了ActiveX控件--axvlc.dll,在编译完vlc之后的activex文件夹下。ActiveX是个好东西,axvlc.dll可以随意放到任何位置,成功注册之后可以方便的应用在程序和网页之中。可以参考activex文件夹下的test.html和README.TXT。ActiveX控件的接口有第一版和第二版,第一版简单,功能少,已经不再维护建议用第二版本,功能多一点。(参考的[1])

vlc-0.8.6i和vlc-0.9.4的ActiveX注册方法略有不同。

做ActiveX的网页测试之前需要把Internet选项-->安全-->本地Intranet的安全级别调到最低。Jeremiah的网页测试环境是IE7,其他浏览器未进行测试。

1. vlc-0.8.6i的ActiveX注册

在E:下新建文件夹vlc-0.8.6iActiveX,拷贝vlc-0.8.6i目录下的plugins,libvlc.dll,activex/axvlc.dll到vlc-0.8.6iActiveX/dlls目录下,拷贝activex/test.html到vlc-0.8.6iActiveX下。新建文本文件install.bat内容如下:

regsvr32 dlls\\axvlc.dll 双击install.bat后会提示“dlls\\axvlc.dll中的DllRegisterServer成功”。然后用打开test.html,文本框输入MRL就可以播放了。

2. vlc-0.9.4的ActiveX注册

0.9.4不光要告诉计算机vlc的axvlc.dll的位置,还要告诉注册表installdir的位置,也就是libvlc.dll的位置

在E:下新建文件夹vlc-0.9.4ActiveX,拷贝vlc-0.9.4目录下的plugins,libvlc.dll,libvlccore.dll,activex/axvlc.dll到vlc-0.9.4ActiveX/dlls目录下,拷贝activex/test.html到vlc-0.9.4ActiveX下。新建文本文件install.reg内容如下:

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\\SOFTWARE\\VideoLAN\\VLC] \新建文本文件install.bat内容如下:

regsvr32 dlls\\axvlc.dll regedit /s install.reg 双击install.bat后就可以用test.html进行测试了。 3. 一点点小提示

如果注册成功,但是test.html播放文件的时候会报错说decoder modules会找不到之类信息,那请将0.8.6i和0.9.4交替注册,可能会解决这个问题。(Jeremiah因为这个问题搞了一天,NND)(2009-05-14补充:直接看8吧,以前这个地方写的不大对。)

4. 制作cab文件

如果要类似与test.html作个播放器服务器,但是我们却不能手动操纵客户端去下载注册vlc的ActiveX,解决方法就是自己制作cab文件。

(1) 到本日志的附件(cabsdk.rar)或者以下地址去下载cabsdk.exe:[url]http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/cabsdk.exe[/url]

(2) 安装cabsdk.exe

(3) 将axvlc.dll及vlc的安装文件拷贝到cabsdk安装路径/BIN/ 下。Jeremiah这里用的是vlc-0.8.6i-win32.exe。(关于如何制作vlc的安装文件,参考日志《windows平台下vlc编译之二:vlc-0.8.6i的编译》)

(4) 在/BIN下新建文本文件axvlc.inf,内容如下:

; Version number and signature of INF file. ; [version] signature=\AdvancedINF=2.0 [Add.Code] vlc-0.8.6i-win32.exe axvlc.dll=axvlc.dll [axvlc.dll] FileVersion=0,8,6,0 clsid={9BE31822-FDAD-461B-AD51-BE1D1C159921} RegisterServer=no hook=nsiinstaller [vlc-0.8.6d-win32.exe] FileVersion=0,8,6,0 file-win32-x86=thiscab [nsiinstaller] run=%EXTRACT_DIR%\\vlc-0.8.6i-win32.exe 注意:请根据安装文件的版本修改此文件。

(5) 命令行到BIN目录下,执行以下命令生成cab文件:

CABARC.EXE N axvlc.cab axvlc.inf axvlc.dll vlc-0.8.6i-win32.exe 5. cab文件的使用

html页面下使用cab文件可以通过以下方式:

这样web客户端无须手动注册axvlc.dll就可以使用了。 6. 一点比较严重小问题

由于vlc的安装文件一般是比较大,所以制作出来的cab文件也是很大的,在网络带宽不是很好的时候,光下载这个cab可能就很长很长时间,基本上可以说这样的方式是行不通的。所以我们需要根据自己的业务需求去精简vlc。Jeremiah将在下一篇日志介绍。

7. C#下使用vlc的ActiveX

vs2005新建一个windows应用程序,在左侧工具箱右键-->选择项-->com组件-->VideoLAN VLC ActiveX plugin v2,工具箱里面就添加了vlc的ActiveX控件,可以在窗体里面随便画了。

调用函数如下:

private void button1_Click(object sender, EventArgs e) { //输入参数 string parameter = \:no-overlay\; //判断是否正在播放 if (this.axVLCPlugin21.playlist.isPlaying) { //如果正在播放, 则停止 this.axVLCPlugin21.playlist.stop(); } //清空播放列表 this.axVLCPlugin21.playlist.clear(); //添加播放列表 this.axVLCPlugin21.playlist.add(textBox1.Text, null, parameter); //播放列表更新到新添加的播放项 this.axVLCPlugin21.playlist.next(); //播放 this.axVLCPlugin21.playlist.play(); } 其他函数调用参考activex/README.TXT。

Jeremiah在附件里面提供了一个简单的调用程序(WindowsApplication1.rar),不过需要注意的是,在用它测试0.9.4的ActiveX,当正常播放文件时点击X关闭窗口产生异常,电脑会重新启动。在主窗体的FormClosing事件中让主线程睡了1000ms,并不能完全保证电脑不重启,所以请根据自己的情况进行本附件的调试。

8. Activex的卸载

卸载是安装的反向操作,知道怎么安装,卸载很简单。 vlc-0.8.6i的Activex的卸载:新建uninstall.bat,内容如下:

regsvr32 dlls\\axvlc.dll /u vlc-0.9.4的Activex的卸载:新建uninstall.reg,内容如下:

搜索更多关于: vlc的应用之二:vlc的ActiveX及cab 的文档
vlc的应用之二:vlc的ActiveX及cab.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3q6p102ukg7f1wl0kigz_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top