| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3882 人关注过本帖
标题:用C#播放音频和Flash
只看楼主 加入收藏
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:42 
用C#播放音频和Flash

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

注意:小括号内的是按钮的其它翻译名称,不同版本的译名是有区别的。

一、在VC#播放声音

新建一个VC#的Windows Form工程(Windows应用程序),并且定义两个菜单按钮(menuItem1,menuItem2)。 选择菜单中的“工具”中的“自定义工具箱(添加/移除工具箱项)”,在自定义工具箱的窗口中,点击展开“COM 组件”项,选中“Window Media Player”选项。确定后在“工具箱”中便会出现“Windows Media Player”这一项,然后再将其拖至Form上,调整大小,系统在“引用”中自动加入了对此dll的引用,AxMediaPlayer就是我们使用的Namespace与class。 在属性栏中设置好此控件的一些属性,为了方便,这里我把AutoStart设置成为true(其实默认是true),只要FileName被设置(打开了文件),则文件将会自动播放。完整代码如下:

private void menuItem1_Click(object sender, System.EventArgs e) { OpenFileDialog ofDialog = new OpenFileDialog(); ofDialog.AddExtension = true; ofDialog.CheckFileExists = true; ofDialog.CheckPathExists = true;

//the next sentence must be in single line 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; } }

这里使用的是微软的播放器,大家也可以试试Winamp的控件,如果你只需要播放声音而不需要显示,你只要把AxMediaPlayer的Visible属性设置为false就可以了。

二、播放Flash动画

播放Flash动画的原理与声音差不多,也是直接引用Flash的dll,不过这个dll不能直接在“COM 组件”窗口中找到,需要我们手动添加,选择菜单中的“工具”--“自定义工具箱”,打开“自定义工具箱”窗口,在“COM 组件”中点击“浏览”键,然后选择“c:\\WINNT(WINDOWS)\\system32\\MacromedFlashswflash.ocx"控件,确定后在工具箱中就可以看到“FlashFactory”,“ShockwaveFlash”两个新控件,我们需要使用的是“ShockwaveFlash”,将其拖到新建的Form上,然后再设置一些属性即可。

下面是简单的操作代码,即打开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(); } }

搜索更多相关主题的帖子: Flash 音频 播放 
2004-10-31 10:32
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

2004-10-31 17:34
belin2000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:975
专家分:194
注 册:2004-6-2
收藏
得分:0 
试试啊,如果可以,就可以做在线播放器啊……

59ita点com(我就爱TA)
2004-11-01 11:29
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
不过这样还没达到伸缩效果,就是说固定了画面,就算框架最大化,画面还是没变,正在寻找伸缩函数。
2004-11-01 20:17
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
原来OpenFileDialog也能实例化啊

2005-01-19 10:14
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
希望下次live41能够把自己的理解依注释的方式加进代码!

2005-01-19 10:24
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
不好意思不是原创,不过很容易看得懂,就那么三两句而已。

[此贴子已经被作者于2005-1-19 22:51:06编辑过]


2005-01-19 22:50
jframe
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-1-19
收藏
得分:0 
谢啦
我试试去

2005-01-20 02:30
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
自己的帖子,顶顶顶!!!

呵呵,谁叫我太有空太无聊。
2005-01-30 11:35
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
{
  this.axMediaPlayer1.FileName = ofDialog.FileName;
}
我在调试的时候,这句老出错,说是没有包含axMediaPlayer1的定义
后来改为axWindowsMediaPlayer1,但是又没有.FileName 的定义。
怎么回事啊?

2005-01-31 08:54
快速回复:用C#播放音频和Flash
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052078 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved