Tob*_*oby 5 .net vb.net winapi beep
有可能让一个vb.net程序听起来是PC的内置扬声器吗?你知道产生C的\aBELL的那个我试过了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
Run Code Online (Sandbox Code Playgroud)
没有任何乐趣显然它是Vista及以上的唯一优点.有什么建议?
使用MyVB.NET 中的命名空间,您可以通过My.Computer.Audio. 它有一个Play具有许多重载的方法,允许您按文件位置或作为字节数组或流传递 .wav 声音,但它还有一个PlaySystemSound采用enum的方法,其中之一是Beep。所以播放这个声音的完整代码是:
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep)
Run Code Online (Sandbox Code Playgroud)
不能保证,但由于它是 .Net 框架的一部分,我认为这应该适用于 XP 和 Vista...