有关多个AVI多媒体文件同时播放的问题!挺难的!请各位老大进来帮帮小弟!谢谢!:)

Sammo 2003-03-13 12:47:48
要播放的AVI文件是MPEG4的!

我有一个数据表,该表的结构如下:
________________________________________
ID,FileName,StartTime,EndTime,WindowNum
________________________________________
有如下数据:
______________________________
001,20030313_1.avi,0830,0900,1
002,20030313_2.avi,0900,0930,1
003,20030313_3.avi,0800,0830,2
004,20030313_4.avi,0830,0900,2

我想在两个窗口里同时播放影像文件,按上面的数据表里的数据内容,
一:窗口一播放20030313_1.avi和20030313_2.avi文件,共计时间刻度是08:30到09:30;
二:窗口二播放20030313_3.avi和20030313_4.avi文件,共计时间刻度是08:00到09:00;
三:我要在一个标有00:00到23:59之间,也即一天24小时的刻度表里分别显示两个窗口的时间刻度,窗口一是08:30到09:30,窗口二是08:00到09:00,可以在刻度表里移动刻度标,两个窗口同时播放AVI文件;

比如说:我把刻度表的时间移动到08:40,那么,在同一时间内,窗口一播放20030313_1.avi文件(从该文件的08:40开始播放),窗口二播放20030313_4.avi文件(从该文件的08:40开始播放)。

各位老大!请问:有什么控件可以实现这样的要求?或者有什么办法可以解决?请帮帮小弟!谢谢!:)


...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdspower 2003-03-17
  • 打赏
  • 举报
回复
你用smil为主题查一下google,这可是w3c组织制订的一个xml的实现,用来集成多媒体交互应用的一种描述语言,你的计算机安装了real player吧,你用*.smi;*.smil搜索一下文件,看有没有,双击一下看是什么.smil现在是2.0版了,实现得最好得播放器就是real player的.
此外你到www.liumeit.com www.souxin.com都会找到许多这方面的应用
Sammo 2003-03-14
  • 打赏
  • 举报
回复
请不要笑我水平!我想问一下:什么是smil?我没见过耶!谢谢!:)
xdspower 2003-03-14
  • 打赏
  • 举报
回复
把realone控件引入到bcb程序中就可以了?!难道这样不行吗?realplayer是有基本com的控件的
其实如果你的smil能定义好,又有好的时间指示文件(比如用rt技术定义一个)效果是十分好的.
penu 2003-03-13
  • 打赏
  • 举报
回复
注意设备占用问题。
Sammo 2003-03-13
  • 打赏
  • 举报
回复
To xdspower():
老大!你这个好像不是BCB是吧?!请问一下如何在BCB下实现呢?谢谢!:)
xdspower 2003-03-13
  • 打赏
  • 举报
回复
你考虑用smil来集成你的播放,现在可以用realone player来播放2.0版本的smil集成多媒体
此外你也可以在程序中集成多个realone的播放控件单要取不同的布局名称,再编一个smil文件来控制播放和布局,你可以从realnetwork获得更多的信息
大概你要求的效果的smil如下:

<smil>
<head>
<meta name="noname" content="empty" skip-content="true" />
<layout type="text/smil-basic-layout">
<root-layout id="root" height="xxx" width="yyy" skip-content="true" />
<region id="videorm1" height="xxx" width="yyy" left="xxx" top="yyy" z-index="xx" fit="fill"

skip-content="true" />
<region id="videorm2" height="xxx" width="yyy" left="xxx" top="yyy" z-index="xx" fit="fill"

skip-content="true" />
<!--注意布局不能重叠,否则后面定义的或z-index大的会覆盖掉其他-->

</layout>
</head>
<body>
<par end="24:00:00">
<seq begin="08:30:00" repeat="1">
<video id="vrm1" region="videorm1" src="20030313_1.avi" repeat="1" fill="remove" />
<video id="vrm2" region="videorm1" src="20030313_2.avi" repeat="1" fill="remove" />
</seq>
<seq begin="08:00:00" repeat="1">
<video id="vrm3" region="videorm2" src="20030313_3.avi" repeat="1" fill="remove" />
<video id="vrm4" region="videorm2" src="20030313_4.avi" repeat="1" fill="remove" />
</seq>
</par>
</body>
</smil>

具体的布局情况等你可以自己定义,这个方式是可行的,不知能否满足你的需要,此外最好把不同窗口中播放的视频放到不同的物理驱动器上,这样才能保证读取数据的顺利,对于视频的声音,播放器会自动混合输出。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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