zoukankan      html  css  js  c++  java
  • WinForm中如何播放声音与Flash动画

    在网上查了一些资料,发现介绍的比较麻烦,我想VS.Net设计出来不可能这么复杂的,于是自个试验了一下,结果发现是超级简单。简单的不可想像:)

    本文就当是基础教程吧:))

    一、在VC#播放声音

    与以前的开发工具的一样,需要调用控件,但是.Net类库中似乎是没有提供这方面的控件,所以我们只有另想办法。CFL刚刚出来提供的东东是不多,但是传统的COM却是不少啊:))

    建立一个VC#的Windows Form工程

    选择菜单中的“工具”--“自定义工具箱”

    图一

    打开的自定义工具箱的窗口,在“COM 组件”中选择Window Media Player这个选项。点击“确定”

    图二

    图三

    图四

    于是在“工具箱”中便出现了“MediaPlayer”这一项,然后再将其拖至Form上,调整大小,我是将充满全部的Form。

    如图4所示,在“引用”中自动加入了对此dll的引用,AxMediaPlayer则便是我们使用的Namespace与class。

    在属性栏中设置好此控件的一些属性(属性是一目了然),为了方便,这里我把AutoStart设置成为true,只要FileName被设置,则文件将会自动播放。

    播放代码为:

    private void menuItem2_Click(object sender, System.EventArgs e)

    {

    OpenFile();

    }

    //打开文件

    private void OpenFile()

    {

    OpenFileDialog ofDialog = new OpenFileDialog();

    ofDialog.AddExtension = true;

    ofDialog.CheckFileExists = true;

    ofDialog.CheckPathExists = true;

    ofDialog.Filter = "VCD文件(*.dat)|*.dat|Audio文件(*.avi)|*.avi|WAV文件 (*.wav)|*.wav|MP3文件 (*.mp3)|*.mp3|所有文件 (*.*)|*.*";

    ofDialog.DefaultExt = "*.mp3";

    if(ofDialog.ShowDialog() == DialogResult.OK)

    {

    this.axMediaPlayer1.FileName = ofDialog.FileName;

    }

    }

    很简单:)我的写了一个小程序:)执行如图5

    图5

    本例中,我使用的微软的播放器,也许不需要用这么大个,大家可以试试Winamp的控件:),我就不多说了:)如果你只需要播放声音而不需要显示,你就把AxMediaPlayer的Visible属性设置为false就可以了:)

    二、播放Flash动画

    播放Flash动画的原理与声音差不多,也就是直接引用Flash的dll,不过这个dll不能直接在“COM”窗口中找到,需要我们手动的添加,我们点击图2中的“浏览”键,然后选择“E:WINDOWSsystem32MacromedFlashswflash.ocx"控件,点击“确定”

    图6

    这时我们可以在工具箱中就可以看到“FlashFactory”,“ShockwaveFlash”两个新控件,其中我们需要使用的是"ShockwaveFlash",将其拖到新建的Form上,然后再设置一些属性即可,这些在属性栏中都可以清楚的看到。

    图7

    我写了一个小程序,播放“第一次亲密接触”的Flash,执行如图8:

    图8

    简单的操作代码,即打开swf文件,并播放它:

    private void menuItem2_Click(object sender, System.EventArgs e)

    {

    OpenFileDialog ofDialog = new OpenFileDialog();

    ofDialog.AddExtension = true;

    ofDialog.CheckFileExists = true;

    ofDialog.CheckPathExists = true;

    ofDialog.Filter = "swf 文件 (*.swf)|*.swf|所有文件 (*.*)|*.*";

    ofDialog.DefaultExt = "mp3";

    if(ofDialog.ShowDialog() == DialogResult.OK)

    {

    this.axShockwaveFlash1.Movie = ofDialog.FileName;

    this.axShockwaveFlash1.Play();

    }

    }

  • 相关阅读:
    Java开发最佳实践(一) ——《Java开发手册》之"编程规约"
    小程序websocket心跳库——websocket-heartbeat-miniprogram
    并发与多线程
    SqlSessionFactory、SqlSessionFactoryBean、SqlSession和SqlSessionTemplate的不解姻缘系列之一(总体阐述)
    全网最通俗易懂理清mybatis中SqlSession、SqlSessionTemplate、SessionFactory和SqlSessionFactoryBean之间的关系
    java代码之美(16) ---Java8 Optional
    Java基础——多线程
    代码简洁之道(判断篇)
    Spring Boot 入门
    Mybatis Plus入门
  • 原文地址:https://www.cnblogs.com/jhabb/p/1881443.html
Copyright © 2011-2022 走看看