vlc的应用之二:vlc的ActiveX及cab
来源:互联网 发布:ug加工编程步骤 编辑:程序博客网 时间:2024/06/17 17:04
本文出自 “海狗哥的流媒体空间” 博客,请务必保留此出处http://jeremiah.blog.51cto.com/539865/115943 原文地址有把小工具和程序作为附件提供下载。
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内容如下:
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内容如下:
[HKEY_LOCAL_MACHINE/SOFTWARE/VideoLAN/VLC]
"InstallDir"="E://vlc-0.9.4ActiveX//dlls"
regedit /s install.reg
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]
signature="$CHICAGO$"
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文件:
5. cab文件的使用
html页面下使用cab文件可以通过以下方式:
codebase="your/path/of/cabfile/axvlc.cab"
width="640" height="480" id="vlc" events="True">
<param name="Src" value="" />
<param name="ShowDisplay" value="True" />
<param name="AutoLoop" value="False" />
<param name="AutoPlay" value="False" />
</OBJECT>
6. 一点比较严重小问题
由于vlc的安装文件一般是比较大,所以制作出来的cab文件也是很大的,在网络带宽不是很好的时候,光下载这个cab可能就很长很长时间,基本上可以说这样的方式是行不通的。所以我们需要根据自己的业务需求去精简vlc。Jeremiah将在下一篇日志介绍。
7. C#下使用vlc的ActiveX
vs2005新建一个windows应用程序,在左侧工具箱右键-->选择项-->com组件-->VideoLAN VLC ActiveX plugin v2,工具箱里面就添加了vlc的ActiveX控件,可以在窗体里面随便画了。
调用函数如下:
{
//输入参数
string parameter = ":sout=#duplicate{dst=display} :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();
}
Jeremiah在附件里面提供了一个简单的调用程序(WindowsApplication1.rar),不过需要注意的是,在用它测试0.9.4的ActiveX,当正常播放文件时点击X关闭窗口产生异常,电脑会重新启动。在主窗体的FormClosing事件中让主线程睡了1000ms,并不能完全保证电脑不重启,所以请根据自己的情况进行本附件的调试。
[-HKEY_LOCAL_MACHINE/SOFTWARE/VideoLAN]
regedit /s uninstall.reg
SectionIn 3
SectionIn 1 2 3
参考网址:
1. [url]http://rogerfd.cn/?p=157[/url]
2. [url]http://wiki.videolan.org/ActiveX/HTML[/url]
3. [url]http://wiki.videolan.org/ActiveX[/url]
4. [url]http://forum.videolan.org/viewtopic.php?f=14&t=48812&p=155832&hilit=regsvr#p156070[/url]
5. [url]http://www.onlyblog.com/blog2/zyjzyj2000/10184.html[/url]
- vlc的应用之二:vlc的ActiveX及cab
- vlc的应用之二:vlc的ActiveX及cab
- vlc的应用之二:vlc的ActiveX及cab
- 关于VLC Activex Plugin V1的应用
- vlc的应用之十一:修改vlc的界面文字
- VLC的ACtiveX插件使用方法
- VLC的ACtiveX插件使用方法
- VLC的ACtiveX插件使用方法
- VLC的ACtiveX插件使用方法
- VLC的ACtiveX插件使用方法
- vlc的应用之七:用vlc做单播,组播及点播服务器
- vlc的应用之七:用vlc做单播,组播及点播服务器
- vlc的应用之九:用vlc串流摄像头
- vlc的应用之九:用vlc串流摄像头
- vlc的应用之九:用vlc串流摄像头
- vlc的应用:vlc的远程控制
- vlc的应用:用vlc串流摄像头
- vlc activex 源码及doxgen的分析文档
- 研究Linux分页技术碰到著名的局部性原理
- jquery 跨iframe 遮罩层
- ClearCase的lincense获得时间
- VS.NET中自定义安装程序制作经验总结
- 不要害怕复杂
- vlc的应用之二:vlc的ActiveX及cab
- 转载: VC,状态栏上对话框大小与实际像素关系
- SQL中给传参数的方法
- 设计模式之桥接模式(Bridge)之三(典型结构图) 结构型模式
- JS。某鼠标滚轮事件。
- 正则表达式元字符
- 反射_02反射类型和泛型类型
- jetty入门
- vlc的应用之三:动态调用vlc-0.9.4的libvlc.dll