关于CAnimateCtrl类的使用

来源:互联网 发布:江汉大学网络支付系统 编辑:程序博客网 时间:2024/06/08 09:38

这是一个播放AVI格式视频的类,其主要的成员函数有:
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID
);
//创建一个animate控件并关联一个CAnimateCtrle对象
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID
);


BOOL Close( );//关闭正在播放的视屏
BOOL IsPlaying() const;//判断视屏是否正在播放
BOOL Open(
LPCTSTR lpszFileName
);//通过文件名打开视屏
BOOL Open(
UINT nID
);//通过资源ID号打开
BOOL Play(
UINT nFrom,
UINT nTo,
UINT nRep
);//播放视屏,
BOOL Seek(
UINT nTo
);//显示指定的帧
BOOL Stop( );//停止

函数都比较简单,在这里并不是说明函数的功能,只是把我使用这个类的过程中所遇到的问题分享出来,望各位大神给予指点。


我使用这个类的步骤是:

1、创建,并和一控件关联(create函数)

2、打开文件(open函数)

3、播放(play)

4、停止(stop)//看是否需要,如过需要在播放过程中终止则用

5、关闭(close)//不使用是就关闭


现在问题来了:

我打开一个文件总是失败,不管是通过文件名来打开还是通过资源ID来打开还是失败,我也使用了文件的绝对路程和相对路径,结果都是无功而返。

查了半天的资料才知道虽然这个类是播放AVI文件,但是对AVI文件也还有要求:片段必须是非压缩的或用RLE8压缩的。

所以这是是打开文件失败的根本原因,彻底无语了。

最有在计算机中找了一个满足条件的AVI文件,成功播放。

最后应该注意播放AVI文件是没有声音的,这也挺郁闷了,貌似不是十全十美。

0 0
原创粉丝点击