DSPack 如何才能從第 N 秒開使撥放起? |
尚未結案
|
Wawa
一般會員 發表:27 回覆:55 積分:16 註冊:2002-10-04 發送簡訊給我 |
|
mysql
一般會員 發表:7 回覆:15 積分:4 註冊:2003-12-10 發送簡訊給我 |
我自己做法如下(从中间开始播放):
var
g_pMediaSeeking: IMediaSeeking;
..... procedure TForm1.FilterGraphActivate(Sender: TObject);
begin
FilterGraph.QueryInterface(IID_IMediaSeeking,g_pMediaSeeking);
end; // 取得播放媒体的g_pMediaSeeking
.......
以下,我使用的是定时器进行处理,从中间开始播放。
procedure TForm1.PlayTimerTimer(Sender: TObject);
var
StopPosition, CurrentPosition: int64;
begin
if assigned(g_pMediaSeeking) then
begin
g_pMediaSeeking.GetStopPosition(StopPosition);
CurrentPosition := StopPosition div 2;
g_pMediaSeeking.SetPositions(CurrentPosition, AM_SEEKING_AbsolutePositioning,
StopPosition , AM_SEEKING_NoPositioning);
end;
PlayTimer.Enabled:=false;
end; 其中,主要利用了GetStopPosition和SetPositions。可以查看相关文档关于此函数的详细应用。
|
Wawa
一般會員 發表:27 回覆:55 積分:16 註冊:2002-10-04 發送簡訊給我 |
|
138075
一般會員 發表:2 回覆:1 積分:0 註冊:2003-07-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |