wxWidgets 中可使用 wxAnimationCtrl 控件播放动画,不过目前暂不支持 AVI 格式文件; wxMediaCtrl 控件可支持更多的媒体文件格式,但对于自动循环播放、默认显示第一帧等功能,目前实现起来还不是很方便。
wxWidgets 中可以直接调用 Windows API,所以可以很方便地通过 Windows API 中提供的动画控制宏实现 AVI 的播放。
// 创建动画控件
HWND hAnimate = Animate_Create((HWND)test_panel->GetHWND(), wxID_ANY, WS_CHILD, NULL);
// 显示动画控件
ShowWindow(hAnimate, SW_SHOW);
// 打开 AVI 媒体文件,并显示第一帧
Animate_Open(hAnimate, wxT("animate.avi"));
// 播放动画
Animate_Play(hAnimate, 0, -1, -1);
// 停止播放
Animate_Stop(hAnimate);
// 关闭 AVI 媒体文件
Animate_Close(hAnimate);