天天看点

利用COM晚期绑定技术,实现Winform中播放Flash的功能

小孩正处学习新事物的阶段,每天拿着很多卡片来识字识物,甚是有趣。有一天,我突发奇想,如果能用电脑动画来播放一些动画片段来帮助小孩提高记忆,那倒是不错的想法。动画最近肯定是使用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控件的菜单进行适度的控制。

<a></a>

继续阅读