用过DSPack的富翁都请进。。。(100分)

  • 主题发起人 主题发起人 hyjjml
  • 开始时间 开始时间
H

hyjjml

Unregistered / Unconfirmed
GUEST, unregistred user!
我用DSPack循环播放一段内存流,但每次重复播放时都会弹出新的播放窗口播放
初步认为是我对这段内存流的内容进行更新后造成的,不知有没有人遇到过类似的情况

我使用的方式 :
procedure TFormPlayWin.Button1Click(Sender: TObject);
var
ms: IMediaSeeking;
StopPosition, CurrentPosition: int64;
begin

FilterGraph.Stop;

if Succeeded(FilterGraph.QueryInterface(IID_IMediaSeeking, ms)) then

begin

ms.GetStopPosition(StopPosition);
CurrentPosition := 0
ms.SetPositions(CurrentPosition, AM_SEEKING_AbsolutePositioning,
StopPosition, AM_SEEKING_NoPositioning);
end;


FilterGraph.Play;
end;


这种方式如果是循环播放一个文件是没问题的
 
路过,没指定播放 Handle 吧
 
你没有指定VIDEOWINDOW窗口句柄吧
 
我第一次播放都是正确的
但后面每循环一次就新创建一个播放窗口 。。。。。
 
你这个怎么是内存流播放哟,
由于dspack的 RenderFile 一打开视频文件就构成了一个链路,
网上有一个GMFBridge,可以实现无黑场播放多个文件功能
这是我的笔记
http://www.delphibbs.com/keylife/iblog_show.asp?xid=24949
 
谢谢lqcros
其实我看了下,要实现无黑场播放在要求不高的情况下只需要截掉文件尾部一小段就可以了
但是这个不是我想要的
我做的是实时监控,现在面临的问题是时延很长(因为如果数据量太少则播放不出来),不知道Dspack是不是要有一定数据量才播放
我尝试过将文件剪切得只剩很小一段(5M),也无法播放
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部