小孩正处学习新事物的阶段,每天拿着很多卡片来识字识物,甚是有趣。有一天,我突发奇想,如果能用电脑动画来播放一些动画片段来帮助小孩提高记忆,那倒是不错的想法。动画最近肯定是使用Flash来处理了,快捷并且声色俱全,可以提高学习的兴趣。于是着手在Winfrom中嵌入Flash来播放,实现动画的效果,经过一番努力,终于成型,先看看程序的效果。
这个程序和一般操作方式不同,不是直接应用Fash的COM组件进行操作,而是通过接口的晚期绑定来实现对Flash的调用,因此项目工程没有Flash的COM组件的应用的,虽然最终还是需要客户端安装Flash播放器,但是提供了比较好的操作方式,并且这里已经把Fash模块封装成了一个控件,拖拽过来就可以使用了。
使用代码如下所示:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Play()
{
string file = Path.Combine(Application.StartupPath, "demo.swf");
if (File.Exists(file))
{
this.flashPlayer1.LoadMovie(0, file);
}
this.flashPlayer1.Play();
}
private void btnPlay_Click(object sender, EventArgs e)
{
Play();
}
设计时刻的窗体效果如下所示,Flash控件就是一个Panel类型的控件,白色的部分就是。
运行效果就如开始的图片一样,整个控件使用起来非常方便,唯一不足的就是不能控制Flash的停止或者重新播放的操作,Flash一旦开始就没法通过接口来实现控制了,但可以通过Fash控件的菜单进行适度的控制。
本来的构思是在我的网站http://www.iqidi.com上部署一系列的宝宝学习题材,然后通过客户端链接网络,获取最新的学习题材链接,在客户端进行播放供天下所有父母的宝宝进行兴趣学习,父母在旁边进行讲解的。 由于时间关系,以及实现对Flash的加密保护处理较为麻烦点,这些东西没能来得及实现暂时搁置,先给大家一个例子尝鲜,呵呵。
例子下载地址:http://files.cnblogs.com/wuhuacong/TestFlashPlayer.rar
本文转自博客园伍华聪的博客,原文链接:利用COM晚期绑定技术,实现Winform中播放Flash的功能,如需转载请自行联系原博主。