dspack如何实现 WMV视频 播放从时间点m到时间点n的视频呢

huruihappy 2009-11-07 05:45:39
dspack如何实现 WMV视频 播放从时间点m到时间点n的视频呢。
也就是播放指定时间段的视频,播放完成后停止在时间点n的那一帧。
希望有熟悉的这控件的人指教下~!~
这样写根本没办法播放指定时间段的帧,无法停止在stopPos这


FilterGraph1.Play ;

FilterGraph1.QueryInterface(IMediaSeeking, MediaSeeking);


With MediaSeeking do
Begin

CurrPos := CurrPos * 100000;
StopPos := StopPos * 100000;
SetPositions(CurrPos, AM_SEEKING_AbsolutePositioning,
StopPos, AM_SEEKING_NoPositioning);
End;
...全文
152 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonmanbu 2010-05-10
  • 打赏
  • 举报
回复
怎么解决的, 共享一下!!!
huruihappy 2009-11-16
  • 打赏
  • 举报
回复
第二个参数 用绝对值试过的 没作用 播放AVI 还没有AM_SEEKING_NoPositioning 好。
MPEG没试过,估计是解码器的问题,最好还是用Flash方式解决··
rwlin 2009-11-13
  • 打赏
  • 举报
回复
BeginPosition := 10; //从第10秒;
EndPosition := 20; //到第20秒

If FilterGraph1.Active Then
Begin
FilterGraph1.QueryInterface(IMediaSeeking, MediaSeeking);

BeginPosition := BeginPosition * 1000 * 10000;
EndPosition := EndPosition * 1000 * 10000;

With MediaSeeking Do
Begin
SetPositions(BeginPosition, AM_SEEKING_AbsolutePositioning,
EndPosition, AM_SEEKING_AbsolutePositioning);
End;
End;

结果和你差不多,avi没问题,mpg格式到20秒不停,wmv 我这边还ok


我第二个参数和你不一样.你第二个参数也用绝对位置试一试..?

huruihappy 2009-11-12
  • 打赏
  • 举报
回复
又TMD白做了··重新弄过个
huruihappy 2009-11-12
  • 打赏
  • 举报
回复
FilterGraph1.QueryInterface(IMediaSeeking, MediaSeeking);


With MediaSeeking do
Begin

CurrPos := CurrPos * 100000;
StopPos := StopPos * 100000;
SetPositions(CurrPos, AM_SEEKING_AbsolutePositioning,
StopPos, AM_SEEKING_NoPositioning);
End;

FilterGraph1.Play ;

avi支持正常,wmv视频和声音不同步。
老机子播放高压缩的avi解码有问题。
rwlin 2009-11-11
  • 打赏
  • 举报
回复
我试了一下果然是无效...
以前没注意.

难道有什么诀窍不成??嘿嘿
hjkto 2009-11-08
  • 打赏
  • 举报
回复
up
huruihappy 2009-11-07
  • 打赏
  • 举报
回复
哪个来顶下 我结贴了··
huruihappy 2009-11-07
  • 打赏
  • 举报
回复
··· 自己实现了···

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧