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

长平狐 发布于 2012/06/11 17:29
阅读 77
收藏 0

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

 

 

 


原文链接:http://www.cnblogs.com/wuhuacong/archive/2011/02/11/1951135.html
加载中
返回顶部
顶部