天天看點

利用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>

繼續閱讀