其实上面这个问题,我在一年前,就已解决了,只不过视频切換时,由于是视频,有一点小停顿。
大家帮忙我解决一下这个小停顿,分可以再加300分
我以前用的方法是:
在窗体上使用两个TFrame
一个TFrame上放一个TVideoWindow
再放一个TFilterGraph,
然后在
FilterGraph1.RenderFile(StringToOleStr('1.mpg'));
//准备播放的视频,必须是播一下就暂停,不然就有可能会弹出VideoWindow窗口(经验哈,我被这个问题小小的捉弄了一下,因为他弹一个窗口出来,又不播还把再播的窗口挡住)
FilterGraph1.Play;
FilterGraph1.Pause;
Frame1.Visable := false;
FilterGraph2.RenderFile(StringToOleStr('2.mpg'));
FilterGraph2.Play;
FilterGraph2.Pause;
Frame2.Visable := true;
FilterGraph2.Play;
这里第二个开始播,播完时候再播FilterGraph1,
切換时
FilterGraph1.Play;
FilterGraph2.Stop;
Frame2.Visable := false;
Frame1.Visable := true;
提供一个思路哈(预播3秒)
如果要不停顿的话,可以这样,判断前一个视频播放到什么地方了,
如果到了最后3秒的话,就提前关闭声音播放后一个视频Filter2.Play;不切換,
在第一个视频到了尾的时候,再切换(把声音也打开)不会有停顿了,
不过我不知道怎么判断最后3秒。