C#播放背景音乐的几种方法
发布时间:2020-12-15 17:55:43 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 C#播放背景音乐通常有四种方式:? 1.播放系统事件声音? 2.使用System.Media.SoundPlayer播放wav? 3.使用MCI?Command?String多媒体设备程序接口播放mp3
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
C#播放背景音乐通常有四种方式:?
1.播放系统事件声音? 2.使用System.Media.SoundPlayer播放wav? 3.使用MCI?Command?String多媒体设备程序接口播放mp3,avi等? 4.使用axWindowsMediaPlayer的COM组件来播放 ? 具体的使用方法: ? 1.播放系统事件声音? System.Media.SystemSounds.Asterisk.Play(); System.Media.SystemSounds.Beep.Play(); System.Media.SystemSounds.Exclamation.Play(); System.Media.SystemSounds.Hand.Play(); System.Media.SystemSounds.Question.Play();2.使用System.Media.SoundPlayer播放wav,mp3? System.Media.SoundPlayer?sp?=?new?SoundPlayer();? sp.SoundLocation?=?@"恋爱ing.wav";? sp.PlayLooping(); ? ????注:使用这种方法,总是提示出?该文件不是波形文件,很郁闷,还是没有找出原因!! ? ????使用VS2008的话,直接添加System.Media命名空间即可!很简单! ? ?? ? 3.使用MCI?Command?String多媒体设备程序接口播放mp3,avi等? using System.Runtime.InteropServices; public static uint SND_ASYNC = 0x0001; public static uint SND_FILENAME = 0x00020000; [DllImport("winmm.dll")] public static extern uint mciSendString(string lpstrCommand, string lpstrReturnString,uint uReturnLength,uint hWndCallback); public void Play() { mciSendString(@"close temp_alias",null,0); mciSendString(@"open ""恋爱ing.mp3"" alias temp_alias",0); mciSendString("play temp_alias repeat",0); }???关于mciSendString的详细参数说明,请参见MSDN,或是http://blog.csdn.net/psongchao/archive/2007/01/19/1487788.aspx ? ?????这个方法可以识别一般的文件,比较强大!! ? ?? ? 4.使用axWindowsMediaPlayer的COM组件来播放? ???a.加载COM组件:ToolBox->Choose?Items->COM?Components->Windows?Media?Player如下图: ? ???b.把Windows?Media?Player控件拖放到Winform窗体中,把axWindowsMediaPlayer1中URL属性设置为MP3或是AVI的文件路径,F5运行。 ? ???如何使用Windows?Media?Player循环播放列表中的媒体文件?? ??假设我们有一个播放列表,下面的代码可以实现自动循环播放? private void axWindowsMediaPlayer1_PlayStateChange(object sender,AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e) { if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded) { Thread thread = new Thread(new ThreadStart(PlayThread)); thread.Start(); } } private void PlayThread() { axWindowsMediaPlayer1.URL = @"E:MusicSomeOne.avi"; axWindowsMediaPlayer1.Ctlcontrols.play(); }MCI?Command?String和Windows?Media?Player都有非常丰富的功能接口,这里不能一一介绍,可以参考MSDN中的具体描述. 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |