请移步https://higoge.github.io/,全部下载资料在那个博客都能找到。谢谢。 php
--------------------------------------------------------------------html
2009-05-14补充:8. Activex的卸载;9. 让vlc自动安装Activex ;10. 关于vlc的Activex的说明。
git
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内容以下:github
regsvr32 dlls\axvlc.dllweb
双击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
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC]
"InstallDir"="E:\\vlc-0.9.4ActiveX\\dlls"浏览器
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="$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网络
CABARC.EXE N axvlc.cab axvlc.inf axvlc.dll vlc-0.8.6i-win32.exe
<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
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>
private void button1_Click(object sender, EventArgs e)
{
//输入参数
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();
}
其余函数调用参考activex/README.TXT。
Jeremiah在附件里面提供了一个简单的调用程序(WindowsApplication1.rar),不过须要注意的是,在用它测试0.9.4的ActiveX,当正常播放文件时点击X关闭窗口产生异常,电脑会从新启动。在主窗体的
8. Activex的卸载
卸载是安装的反向操做,知道怎么安装,卸载很简单。
vlc-0.8.6i的Activex的卸载:新建uninstall.bat,内容以下:
regsvr32 dlls\axvlc.dll /u
vlc-0.9.4的Activex的卸载:新建uninstall.reg,内容以下:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN]
新建uninstall.bat,内容以下:
regsvr32 dlls\axvlc.dll /u
regedit /s uninstall.reg
双击uninstall.bat,提示dlls\axvlc.dll中的DllUnregisterServer成功。就卸载完毕了。
9. 让vlc安装的时候自动安装Activex
4里面提到cab包的制做及5里面提到了cab包的使用。cab其实就是让客户自动下载vlc的安装文件,而后启动安装。可是安装过程当中,出现这样一步:
Activex plugin默认是没有被选中的,如何让它这一步默认是选中的,或者选中而且是灰色的(好比像Media Player这一项),不让客户改变呢?咱们须要修改编译完的vlc的vlc.win32.nsi文件。而后用它从新制做vlc-0.9.4-win32.exe.
具体修改过程以下:
在vlc.win32.nsi文件中,找到:
Section /o $Name_Section04 SEC04
SectionIn 3
修改成:
Section $Name_Section04 SEC04
SectionIn 1 2 3
或者在1 2 3后面加入“空格RO”,表示这项是必须的不能去掉,就是选中而且是灰色的。$Name_Section04能够替换为"My ActiveX plugin (required)"等本身的名字。
而后根据前面博客讲的制做vlc-0.9.4-win32.exe的过程执行一遍,而后再制做cab包就okay了。
10. 关于vlc的Activex的说明
根据我对vlc的Activex的使用,发现这个Activex作的真是很差,不少方法没有封装进来,若是扩展这个Activex,工做量不小。若是是作C/S程序,强烈不建议用Activex来开发。除非是想简单作一下,快速开发等。作C/S播放器仍是看我这篇博客:《vlc的应用之三:动态调用vlc-0.9.4的libvlc.dll 》,开发过程虽然慢点,可是比较可控。Activex只适合应用于B/S项目,只适合WEB开发,这是Jeremiah的一点忠告,可是只属于我的意见,仅供参考。
参考网址: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]