需要一个喇叭发声的音乐,请教
vb.et中的.谢谢.
__________________________________________________________________________
可以用SoundPlayer 类 来控制 .wav 文件中的声音播放。

SoundPlayer 类提供了加载和播放 .wav 文件的简单界面。SoundPlayer 类支持从文件路径、URL、包含 .wav 文件的 Stream 或包含 .wav 文件的嵌入资源中加载 .wav 文件。

要使用 SoundPlayer 类播放声音,请用 .wav 文件的路径配置 SoundPlayer 并调用某个播放方法。可以使用某个构造函数或通过设置 SoundLocation 或 Stream 属性来标识要播放的 .wav 文件。可以在播放前使用某个加载方法加载文件,或者将加载推迟到调用某个播放方法时。被配置为从 Stream 或 URL 中加载 .wav 文件的 SoundPlayer 必须在播放开始前将 .wav 文件加载到内存中。

可以同步或异步地加载或播放 .wav 文件。如果调用同步加载或播放方法,调用线程将一直等到方法返回,这可能会导致绘制和其他事件中断。调用异步加载或播放方法则允许调用线程继续执行,而不会中断。有关异步方法调用的更多信息,请参见如何:在后台运行操作。

当 SoundPlayer 加载完 .wav 文件后,它会引发 LoadCompleted 事件。可以检查事件处理程序中的 AsyncCompletedEventArgs,确定加载是成功还是失败。当音频源设置为新文件路径或 URL 时,引发 SoundLocationChanged 事件。当音频源设置为新 Stream 时,引发 StreamChanged 事件。有关处理事件的更多信息,请参见使用事件。
__________________________________________________________________________
这个类能通过喇叭发声吗? 单位的机子都不配音箱啊.
__________________________________________________________________________
这个类型计算机的开机声音,只要有音箱就可以了。
__________________________________________________________________________
我的意思是用机箱上的喇叭发声音, 发 两只老虎 之类的声音就可以了, 告诉用户有邮件.
__________________________________________________________________________
我来给你正确答案:

这个问题 需要引用Win32的API,引用Beep这个函数.

写一段例子如下:

Public Class Form1 


下面一行的代码是引用Win32 API的Beep函数 

Declare Function Beep Lib kernel32 (dwFreq As Integer, dwDuration As Integer) As Integer 

Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load 

Beep(800, 1000) 窗体载入后,从PC的机箱喇叭发出频率为800Hz,时间长度为1秒的声音 

End Sub 


End Class 

__________________________________________________________________________ 

接续楼上的回复: 

改进一下函数的引用,把Beep改成Sound。因为VB里也有一个Beep,容易混淆。 

下面写一段模拟警车的声音的代码: 


Public Class Form1 

Declare Function Sound Lib kernel32 Alias Beep (dwFreq As Integer, dwDuration As Integer) As Integer 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load 

For I As Integer = 1 To 10 

For J As Integer = -800 To 800 Step 40 : Sound(Math.Abs(J) + 600, 10) 

Next J, I 

End Sub 

End Class 

__________________________________________________________________________ 

呵呵,谢谢了,是这个api函数, 现在的问题是, 如何找出音调对应的频率了. 

__________________________________________________________________________ 

能唱歌?我的也是Beep(嘀~~~)的声音,两只老虎的声音怎么做? 


关注. 

__________________________________________________________________________ 

以下是音乐歌(生日歌) 


Private Declare Function Beep Lib kernel32.dll (ByVal dwFreq As Int32, _ 

ByVal dwDuration As Int32) As Long 


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

Dim i() As Integer = {392, 392, 440, 392, 523, 494, 392, 392, 440, 392, 587, 523, 392, 392, 784, 659, 523, 494, 440, 698, 698, 659, 523, 587, 523} 

Dim j() As Integer = {375, 125, 500, 500, 500, 1000, 375, 125, 500, 500, 500, 1000, 375, 125, 500, 500, 500, 500, 1000, 375, 125, 500, 500, 500, 1000} 

Dim ak As Integer 

For ak = 0 To i.Length - 1 

Beep(i(ak), j(ak)) 

Next 

End Sub 



对应音调的音频是 


低八度 中八度 高八度 

  1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 

C 131 147 165 175 196 220 247 262 294 330 349 392 440 494 523 587 659 698 784 879 987 

D 147 165 175 196 220 247 262 294 330 349 392 440 494 523 587 659 698 784 879 987 1108 

E 165 175 196 220 247 262 294 330 349 392 440 494 523 587 659 698 784 879 987 1108 1244 

F 175 196 220 247 262 294 330 349 392 440 494 523 587 659 698 784 879 987 1108 1244 1318 

G 196 220 247 262 294 330 349 392 440 494 523 587 659 698 784 879 987 1108 1244 1318 1479 

A 220 247 262 294 330 349 392 440 494 523 587 659 698 784 879 987 1108 1244 1318 1479 1660 

B 247 262 294 330 349 392 440 494 523 587 659 698 784 879 987 1108 1244 1318 1479 1660 1863


结贴了,谢谢各位.
__________________________________________________________________________