zoukankan      html  css  js  c++  java
  • 利用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控件的菜单进行适度的控制。

     

    本来的构思是在我的网站http://www.iqidi.com上部署一系列的宝宝学习题材,然后通过客户端链接网络,获取最新的学习题材链接,在客户端进行播放供天下所有父母的宝宝进行兴趣学习,父母在旁边进行讲解的。 由于时间关系,以及实现对Flash的加密保护处理较为麻烦点,这些东西没能来得及实现暂时搁置,先给大家一个例子尝鲜,呵呵。

    例子下载地址:http://files.cnblogs.com/wuhuacong/TestFlashPlayer.rar 

    主要研究技术:代码生成工具、会员管理系统、客户关系管理软件、病人资料管理软件、Visio二次开发、酒店管理系统、仓库管理系统等共享软件开发
    专注于Winform开发框架/混合式开发框架Web开发框架Bootstrap开发框架微信门户开发框架的研究及应用
      转载请注明出处:
    撰写人:伍华聪  http://www.iqidi.com 
        
  • 相关阅读:
    pycharm调试时出现十分缓慢,变量数据没法预览的解决办法
    gitignore设置失效的问题
    存储过程计算两个时间段的请假天数
    Vue 多层级目录拖动排序
    vue 动态插入渲染html
    Vue:eliment-ui el-tree动态加载更新
    Angular2+ iframe跨域调用父页面js
    Angular2.0+动态绑定html文本
    Angular2.0+开发 -实现部门树形结构
    Angular2.0+开发(1)-WebStorm配置及第一个Hello World
  • 原文地址:https://www.cnblogs.com/wuhuacong/p/1951135.html
Copyright © 2011-2022 走看看