固定 TMediaPlayer 元件撥放影片的 Size |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
心得分享 : 固定 TMediaPlayer 元件撥放影片的 Size ■前言
我們通常拿 TMediaPlayer 來撥放媒體影片 , 而 TMediaPlayer 的 Display 屬性可設定影片要播放在哪個地方 , 如可以指定播放在某一 Panel 上 (哪些元件可供做播放平台可自行測試), 或是都不設 , 讓程式執行時系統自動另開一 Form 以供播放之用 , 但影片本身播放時的高度跟寬度有大有小 , 如何固定 Size 呢 ? TImage 有一屬性叫做 Stretch 可將影像調整跟 TImage 本身大小一樣 ; 但出乎意料之外的 , TMediaPlayer 的 Display 屬性居然不能設定播放平台為 TImage 元件 , 由於客戶的需求是不管影片本身解析度如何 , 播放出來都要為 800 x 600 Size , 我研究了好久才試出來 , 只要在播放之前指定播放 Size 為所要播放的元件平台 Size 即可 ■實作 : 如要將影像播放在 Panel1 上
1.將 Panel1 Size 拉大為 800 x 600
2.在 Play() 之前設定程式碼 : TRect r;
r.Left=0;
r.Top=0;
r.Right=Panel1->Width ;
r.Bottom=Panel1->Height;
MediaPlayer1->DisplayRect=r; MediaPlayer1->Play(); 則以後不管任何影片播放時 , 長寬度大小一定為 800 x 600 ■補充 : 將影片連續播放
1.將 TMediaPlayer 之 AutoRewind 屬性設為 true
2.在 TMediaPlayer 之 OnNotify 事件中加入程式碼如下 : void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender)
{
if (MediaPlayer1->NotifyValue == nvSuccessful)
MediaPlayer1->Play(); } << BCB 源碼任務 http://home.kimo.com.tw/bruce0829/ >>
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |