XP上的vb.net系统发出哔哔声

时间:2012-04-11 17:26:28

标签: .net vb.net winapi beep

是否有可能让一个vb.net程序听起来是PC的内置扬声器?你知道那个产生C \a BELL的那个 我试过beep(),但这只会在声卡上产生错误声音。 我也试过

<Runtime.InteropServices.DllImport("KERNEL32.DLL", EntryPoint:="Beep", SetLastError:=True, _
CharSet:=Runtime.InteropServices.CharSet.Unicode, ExactSpelling:=True, _
CallingConvention:=Runtime.InteropServices.CallingConvention.StdCall)> _
Public Shared Function _
   aBeep(ByVal dwFreq As Integer, ByVal dwDuration As Integer) _
     As Boolean
End Function

没有任何喜悦显然是它在Vista及以上的唯一优点。 有什么建议吗?

1 个答案:

答案 0 :(得分:3)

使用VB.NET中的My命名空间,您可以通过My.Computer.Audio访问音频。这有一个Play方法,其中包含许多重载,允许您按文件位置或Byte数组或Stream传入.wav声音,但它也有一个PlaySystemSound方法,它接受{ {3}},其中一个是Beep。所以播放这个声音的全线是:

My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep)

没有保证,但由于它是.Net框架的一部分,我认为在XP和Vista上运行...