MediaPlayer的Position在CALLBACK Function裡有問題 |
尚未結案
|
Windyboy
版主 發表:7 回覆:119 積分:210 註冊:2002-11-07 發送簡訊給我 |
大家好^_^ 這個問題實在是想不通, 用過MediaPlayer的人應該知道, MediaPlayer->Position可以取得目前播放的時間, 如果用一個TTimer來取得這個時間, 如下:
void __fastcall TForm1::Timer1Timer(TObject *Sender) { Label1->Caption = MediaPlayer1->Position; }這樣使用沒有問題, 不過如果是用多媒體計時器, timeSetEvent 就會出問題, 似乎是讀不到MediaPlayer1->Position這個值, 如下: TIMECAPS tc; UINT timer; void CALLBACK TimeProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2) { ((TForm1 *)dwUser)->Label1->Caption = ((TForm1 *)dwUser)->MediaPlayer1->Position; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { timeGetDevCaps(&tc, sizeof(tc)); timeBeginPeriod(tc.wPeriodMin); timer = timeSetEvent(1, tc.wPeriodMin, TimeProc, (DWORD)Form1, TIME_PERIODIC); } //---------------------------------------------------------------------------有沒有人踫過這個問題, 因為Timer的Interval並不是真的能到達1ms 所以我才想用多媒體計時器, 誰可以幫我看看這個問題, 謝謝^_^ -------------------------- ~天下本無事 庸人自擾之~ |
Windyboy
版主 發表:7 回覆:119 積分:210 註冊:2002-11-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |