用Delphi打造RealPlayer播放器 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
此為轉貼資料 今RealPlayer的流式媒體文件以其強大的視頻壓縮比正逐步悄然興起。RealPlayer Plus播放器也理所當然地成?大家播放RealPlayer格式文件的首選軟體。不過RealPlayer Plus也不是十全十美的,比如?動時間慢,佔用空間大,留有歷史記錄等等。其實我們可以利用Delphi打造一個完全符合自己要求的RealPlayer播放器。下面我將向大家介紹如何利用Delphi來幫助你實現這一願望。但前提是:你的機器中必須裝有RealPlayer Plus播放器,因?我們要用到其自帶的ActiveX控制項。 首先,我們要在Delphi中導入所需的ActiveX控制項。點擊功能表“Component→Import ActiveX Control...”打開“Import ActiveX”對話方塊,在“Import ActiveX”列表框中,我們可以看到Windows中所有註冊的AxctiveX控制項。選擇其中的“RealPlayer ActiveX Control Library(Version 1.0)”控制項。然後單擊“Install”按鈕。 回到Delphi主介面,你會發現在VCL面板中的ActiveX標簽中增加了一個名?RealAudio的元件。我們先把它放入表單中。不過在默認情況中RealAudio元件沒有視頻播放視窗,也就是只能播放聲音。這是我們不願看到的,這時我們可以在RealAudio元件的Controls屬性中添加如下代碼: IMAGEWINDOW,CONTROLPANEL,STATUSBAR 其中:IMAGEWINDOW、CONTROLPANEL、STATUSBAR分別表示顯示視頻播放視窗、控制條狀態條。 添加代碼後,我們可以發現控制項外觀已經改變成了視頻播放視窗形狀。然後設置Align屬性?alClient,使播放視窗可以隨表單的變化而變化,方便大家在觀看影視動畫時可以隨意拉動播放窗口大小。 然後,在窗中加入TMainMenu元件、TOpenDialog元件各一個。用於選擇並打開播放影視文件。雙擊TMainMenu元件,進入功能表設計器。在這裏,我們要設計一個功能表項File,及其2個子功能表Open、Exit。設計完畢後: 雙擊Open添加如下代碼: if OpenDialog1.Execute then begin RealAudio1.source:=OpenDialog1.FileName; RealAudio1.doplay; //打開並?動播放器 End; 雙擊Open添加如下代碼: Application.terminate; //終止程式運行 ?了在打開一個文件時,便於用戶選擇文件,要將OpenDialog元件的Filter屬性設置如下:所有媒體文件(*.rm,*.ram,*.ra,*.swf,*.mp3)|*.rm;*.ram;*.ra;*.swf;*.mp3|*.*|*.*。 最後就可以進行編譯、運行。此程式在Windows Me,Delphi 5.0的環境中調試通過。如果朋友們有什?不解之處,可與我聯繫:tjyihui@sohu.com。
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
cake2000
一般會員 發表:13 回覆:16 積分:10 註冊:2002-04-14 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
vcc1688
一般會員 發表:1 回覆:3 積分:0 註冊:2002-04-19 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
vcc1688
一般會員 發表:1 回覆:3 積分:0 註冊:2002-04-19 發送簡訊給我 |
[quote]
[quote]
Win2000 Delphi 6.0 run have error
install active x ok,,create form ok,
run have error ,, [Real One EnterPrise Desktop] MessageDlg
Debugger Exception Notification
.......
'Access violation at address 681449A8 in module 'rmoc3260.dll'..... [OleCtrl.pas]
if FObjectData = 0 then OleCheck(FPersistStream.InitNew) else
begin
OleCheck(CreateStreamOnHGlobal(FObjectData, False, Stream)); OleCheck(FPersistStream.Load(Stream));//ERROR Here DestroyStorage;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |