怎样用VC++实现AVI文件的连续播放?是不是用到链表啊

已经用API函数播放了一些简单的AVI文件,但是都还真能实现单个播放,要实现多个AVI文件连续播放,应该怎么操作呢?请各位大侠踊跃发言,最好能有程序参考一下!我的意思比如... 已经用API函数播放了一些简单的AVI文件,但是都还真能实现单个播放,要实现多个AVI文件连续播放,应该怎么操作呢?请各位大侠踊跃发言,最好能有程序参考一下!
我的意思比如我用一个OPENBUTTON来打开一个文件,里面有5个子文件,我要读取文件名并用链表来表示,这应该怎么做呢?望不吝赐教!
展开
 我来答
百度网友1d8e8b9
2009-09-12 · TA获得超过913个赞
知道小有建树答主
回答量:589
采纳率:60%
帮助的人:324万
展开全部
首先定义一个链表结构:(假设你用MFC)
CList< CString, CString& > strFileNames;

然后枚举目标文件夹中所有的文件,

while( 枚举文件没有结束 )
{
CString strTaget = 每次枚举到文件;
strFileNames.AddTail( strTaget );
}

POSITION pos;
for( pos = strFileNames.GetHeadPosition();
pos;
strFileNames.GetNext( pos ))
{
CString strTaget = strFileName.GetAt( pos );
Play( strTaget );
WaitForPlayEnd();
}
蓝色水天160
2009-09-10 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:127万
展开全部
播完会发出一个消息吧。。然后接到消息就播放下一个。如果没有用一个计时器,没格2秒检测当前是否播完,播完就下一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-09-11
展开全部
不用链表也可以,把文件名放到一个数组里就可以了。
比如有10个文件,放到File[10]数组里,首先定义一个变量
int nFileIndex=0;

让下面的过程循环起来就可以了:
{
1、播放文件File[nFileIndex];
2、播放完后nFileIndex++;
3、判断文件nFileIndex是否大于等于10,大于等于10则nFileIndex=0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没事没事就爱哭
2009-09-11 · TA获得超过310个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:131万
展开全部
其实可以这么做。一般的播放器都是把你要顺序播放的视频放在列表框里,
当你加载文件时就把文件名放到列表框里就行了。播放时从列表框当前的项读取字符串打开文件就可以。
附加一些我曾经写的核心代码:把文件打开放到列表中,播放时从列表中顺序读取,播放完进行下一次,如果在列表框进行到最后,可以根据一个bool变量来实现是否从头开始循环。。

CFileDialog fileDialog( TRUE,"*.OCX",NULL,NULL,"|所有文件(*.*)|*.*||");
if (fileDialog.DoModal() == IDOK)
{
//选择文件
Cstring m_FileName=fileDialog.GetPathName();
m_list.AddString(m_FileName); //加入到列表框。
}
CString m_filename; //定义文件变量
double CurPos=m_ActiveMovie.GetCurrentPosition(); //获得播放位置
if(CurPos= = 0)
{
//选择列表框的第一个文件
m_list.SetCurSel(0);

m_list.GetText(0,m_filename);

//设置自动播放
m_ActiveMovie.SetAutoStart(1);

//设置文件
m_ActiveMovie.SetFileName(m_filename);

//播放
m_ActiveMovie.Run();
m_list.GetCurSel();

//插入列表框最后
m_list.InsertString(-1,m_filename);

//删除用过的文件
m_list.DeleteString(0);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飘雪在春季
2009-09-12 · TA获得超过259个赞
知道小有建树答主
回答量:439
采纳率:0%
帮助的人:0
展开全部
你需的只是文件名,把这些放入一个list控件,逐个拿取播放就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式