是否有可能让一个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及以上的唯一优点。 有什么建议吗?
答案 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上运行...