2009-09-17 105 views
0

我想在win应用程序(使用C#编写),声音(Wav格式)播放为背景声音,并将鼠标悬停在Control上播放小型wav声音文件, 以及点击按钮时,停止背景声音和...。
感谢您的指导。在C中同时播放声音#

+0

这个问题并没有说明问题是什么,也没有说明你如何尝试播放声音或类似的东西。实际上它不完整,对吗? – 2009-09-17 11:57:12

+0

它听起来功课吗? – 2009-09-17 11:57:50

+0

我使用“System.Media.SoundPlayer”播放Wav文件。并使用“PlaySync”方法。 – Modir 2009-09-17 12:02:58

回答

0

您可以使用Windows Media Player:

参考C:\ WINDOWS \ SYSTEM32 \的Wmp.dll在您的项目

推出wav文件:

WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayerClass(); 
wmp.URL = "[wav file path]"; 

//then control the player with : 

wmp.controls.play(), stop(), ... 

第二WAV文件,与WindowsMediaPlayer的另一个实例一样...

您还可以使用托管DirectX:Managed DirectX Tutorial Part 2

+0

感谢您的指导。 – Modir 2009-09-17 12:18:08

0

您是否尝试在单独的线程中播放它们中的每一个?

+0

不,但在线程中的背景声音。 – Modir 2009-09-17 11:58:16

+0

试试吧,我认为这会对你有用 – 2009-09-17 12:07:32

2

您可以尝试在System.Media名称空间中查看。有一个可以播放Wave文件的SoundPlayer。

在循环播放wav文件,你可以使用下面的代码:

string filename = @"C:\WINDOWS\Media\notify.wav"; 
System.Media.SoundPlayer player = new System.Media.SoundPlayer(filename); 
player.PlayLooping(); 

要停止播放,您简单的调用停止():

player.Stop(); 

玩了一下,还有更多,如果你需要它。

+0

谢谢,但是当鼠标悬停在按钮事件上时,播放另一个导致停止背景声音的声音。 – Modir 2009-09-17 12:09:00

+0

您可以使用相同的SoundPlayer。调用.Stop()并将属性SoundLocation设置为新的wave文件,然后调用.Play()来播放它。 – Vivelin 2009-09-17 18:17:03