如何用蜂鸣器来播放一段音乐? 那天,我到网上发现一个VB编写的利用机箱里的蜂鸣器来发声的,我现在想利用其播放一段音乐,该如何做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用VB自带的那个BEEP是不行的.不像C里面那个sound,可以指定频率.很久前见过一个控件还是DLL可以在VB里面这么用,忘记名字了. Dim X(24) As Integer, I As Integer, J As Integer X(1) = 784: X(2) = 659: X(3) = 523: X(4) = 784 X(5) = 659: X(6) = 523: X(7) = 880: X(8) = 698 X(9) = 587: X(10) = 880: X(11) = 698: X(12) = 587 X(13) = 1568: X(14) = 1318: X(15) = 1046 X(16) = 1568: X(17) = 1318: X(18) = 1046 X(19) = 1760: X(20) = 1396: X(21) = 1174 X(22) = 1760: X(23) = 1396: X(24) = 1174 For I = 1 To 2 For J = 1 To 24 Beep X(J), 200 Next J Next I MsgBox "演奏结束!"上次有人求助时贴的好像 2楼的需要这个的声明:Private Declare Function Beep Lib "kernel32.dll" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long alifriend 和 Tiger_Zhao 正解 这位兄弟想象力真不一般,小生不胜敬佩。Mark一下共同学习。呵呵。 可以参考一下MIDI文件格式,自己定义一种文件格式。通常是两个数值为一组,一个定义频率一个定义时间长度;你只要遍历整个文件,每次读两个数值作为Beep函数的两个参数。 我是这样想的,如何才能把一段音乐简谱,转换为beep的发生频率呢? ' 音调频率(HZ) = (15625 * (2 ^ 音阶数)) / (511 - 音调值)'' 音符 音调值' A 3' A# 31' B 58' C 83' C# 107' D 130' D# 151' E 172' F 191' F# 209' G 226' G# 242'' 音阶 范围(HZ)' 0 31-61' 1 61-122' 2 122-244' 3 244-488' 4 489-977' 5 978-1.95k' 6 1.96-3.91k' 7 3.910-7.81k''比如简谱的1音符C,在第2音阶的频率为 Round((15625 * (2 ^ 2)) / (511 - 83)) = 146 再问个问题,就是,如果我有个MP3音乐文件,我想把他做成是Beep的发生频率,该如何做? Mp3文件格式好像是波形纪录,无法用简单的Beep实现。 这个问题我曾经也想过,机箱里面闲置的喇叭,除了报警似乎没有别的其他功能有的人用这个做过超声波驱蚊,但是貌似也不是很灵最后我就放弃了这个研究扬声器的念头转而研究了一阵子midi那个还是很好玩的,可以模拟128种乐器,我做了个键盘可以演奏各种音色,不过很不顺手呵呵,还有按键冲突,不能弹合旋国外有个著名的guitar pro,就是利用这玩意儿做的,还有Overture 用于谈钢琴的搂主有兴趣可以研究研究,这方面有兴趣的TX也可以跟我联系,交流交流做点好玩的东东,我挺号音乐这块的,呵呵 删除access数据 vb frame数组问题,求助高手 VB 内存读出双字节数据 按钮如何设置!急呀! 我想问问微软的程序员用什么OS,什么开发工具,Office用的是那个版本 picture旋转 紧急求助(等答辩):如何使frame控件的backcolor变为透明的? 老板给我的新任务,用WORD做杂志封面,好难啊! mdac.type.exe 文件 sql数据库的问题 如何自动将指定路径窗口关闭 JAVA如何实现像素的移动
不像C里面那个sound,可以指定频率.
很久前见过一个控件还是DLL可以在VB里面这么用,忘记名字了.
X(1) = 784: X(2) = 659: X(3) = 523: X(4) = 784
X(5) = 659: X(6) = 523: X(7) = 880: X(8) = 698
X(9) = 587: X(10) = 880: X(11) = 698: X(12) = 587
X(13) = 1568: X(14) = 1318: X(15) = 1046
X(16) = 1568: X(17) = 1318: X(18) = 1046
X(19) = 1760: X(20) = 1396: X(21) = 1174
X(22) = 1760: X(23) = 1396: X(24) = 1174
For I = 1 To 2
For J = 1 To 24
Beep X(J), 200
Next J
Next I
MsgBox "演奏结束!"
上次有人求助时贴的好像
通常是两个数值为一组,一个定义频率一个定义时间长度;你只要遍历整个文件,每次读两个数值作为Beep函数的两个参数。
'
' 音符 音调值
' A 3
' A# 31
' B 58
' C 83
' C# 107
' D 130
' D# 151
' E 172
' F 191
' F# 209
' G 226
' G# 242
'
' 音阶 范围(HZ)
' 0 31-61
' 1 61-122
' 2 122-244
' 3 244-488
' 4 489-977
' 5 978-1.95k
' 6 1.96-3.91k
' 7 3.910-7.81k
'
'比如简谱的1音符C,在第2音阶的频率为
Round((15625 * (2 ^ 2)) / (511 - 83)) = 146
该如何做?
有的人用这个做过超声波驱蚊,但是貌似也不是很灵最后我就放弃了这个研究扬声器的念头
转而研究了一阵子midi那个还是很好玩的,可以模拟128种乐器,我做了个键盘可以演奏各种音色,不过很不顺手呵呵,还有按键冲突,不能弹合旋
国外有个著名的guitar pro,就是利用这玩意儿做的,还有Overture 用于谈钢琴的
搂主有兴趣可以研究研究,这方面有兴趣的TX也可以跟我联系,交流交流做点好玩的东东,我挺号音乐这块的,呵呵