請移步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]