加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 23:42:02 所属栏目:大数据 来源:网络整理
导读:需要一个喇叭发声的音乐,请教 vb.et中的.谢谢. __________________________________________________________________________ 可以用SoundPlayer 类 来控制 .wav 文件中的声音播放。 SoundPlayer 类提供了加载和播放 .wav 文件的简单界面。SoundPlayer 类支
需要一个喇叭发声的音乐,请教 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,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,523,494,587,784,659,698,523} Dim j() As Integer = {375,125,500,1000,375,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 结贴了,谢谢各位. __________________________________________________________________________

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读