我,我不是日常的c ++程序员,所以我需要帮助。我'写'this。它是DevC ++中的新项目“Windows Application”。我添加了这个
#include <Commctrl.h>
//...
HWND film;
//...
film = Animate_Create(hwnd, 10, WS_CHILD | WS_VISIBLE | ACS_AUTOPLAY, hThisInstance);
Animate_OpenEx(film, hThisInstance, "a.avi");
Animate_Play(film, 0, -1, 1);
Animate_Stop(film);
但这不起作用。怎么了?窗口打开,但视频没有播放。
答案 0 :(得分:2)
正如Raymond Chen曾经blogged所说,动画控件有很多限制。它专门为简单的动画而设计。
* The AVI must be non-interleaved. * The AVI must have exactly one video stream. * The AVI may not have an audio stream. * The AVI may not use palette changes. * The AVI must be either uncompressed or BI_RLE8-compressed.
如果其中任何一项适用,您必须更改AVI或使用其他方法显示它。
答案 1 :(得分:0)
AVI只是一种容器格式。你不能告诉里面什么。所以我的猜测是动画控件不支持里面的实际数据。您可以尝试播放应该位于Windows文件夹中的“clock.avi”(可能是C:\ Windows)。
另外,请注意动画控件在Windows7上不起作用。(编辑:感谢提示)。如果您需要复杂的播放功能,可以查看DirectShow。动画控件仅适用于非常简单的动画。
“动画控件可以显示源自未压缩的AVI文件或使用游程(BI_RLE8)编码压缩的AVI文件的AVI剪辑。”
可以找到有关规范和支持数据的详细信息here。