[VB.NET]需要一个喇叭发声的音乐,请教

VB.NET源码-156个实用实例哦…… 需要一个喇叭发声的音乐,请教
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


结贴了,谢谢各位.
__________________________________________________________________________
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值