WinForm中如何播放声音与Flash动画

前面几天有一位MM在论坛中问我,怎么在VC#设计中如何播放声音和Flash动画。当时我正急着找工作,没有机会去想想怎么做,只能遗憾对那个MM说,我帮不了你:(,现在飞刀找工作事情已经过一段落,注定我是一个没有人要的孩子,不过我也有机会可以来看看这个问题怎么解决了。

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

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

一、在VC#播放声音

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

建立一个VC#Windows Form工程

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

图一

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

图二

图三

图四

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

如图4所示,引用中自动加入了对此dll的引用,AxMediaPlayer则便是我们使用的Namespaceclass

在属性栏中设置好此控件的一些属性(属性是一目了然),为了方便,这里我把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的控件:),我就不多说了:)如果你只需要播放声音而不需要显示,你就把AxMediaPlayerVisible属性设置为false就可以了:)

二、播放Flash动画

播放Flash动画的原理与声音差不多,也就是直接引用Flashdll,不过这个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();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值