主题:如何用VB编个音乐,不要控件,只要代码!!
ldc4399
[专家分:0] 发布于 2008-05-25 14:39:00
可以给个音乐的代码
回复列表 (共2个回复)
沙发
一江秋水 [专家分:9680] 发布于 2008-05-26 08:26:00
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Sub Form_Load()
Dim musicName As String
musicName = "(全路径音乐文件名)" '注意:路径和文件名决不能有空格
mciSendString "open " & musicName & " alias mymusic", 0&, 0, 0
End Sub
Private Sub Command1_Click() '播放
mciSendString "play mymusic", "", 0, 0
End Sub
Private Sub Command2_Click() '暂停
mciSendString "pause mymusic", "", 0, 0
End Sub
Private Sub Command3_Click() '继续
mciSendString "resume mymusic", 0&, 0, 0
End Sub
Private Sub Command4_Click() '停止
mciSendString "stop mymusic", 0&, 0, 0
End Sub
Private Sub Command5_Click() '关闭
mciSendString "close mymusic", 0&, 0, 0
End Sub
可以播放wav、mp3、mid等
板凳
天天学习 [专家分:4570] 发布于 2008-05-26 10:42:00
不知楼主是不是想做像QBasic下的play和sound函数那样的,可以自已“演奏"音乐的程序。
可以在网上搜索“Qbasic音乐编程”。原文内容太多,我就不复制到这里了。
另:据说用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
("#"表示半音,用于上升或下降半个音)
Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
【操作系统】
Win9X:Yes
WinNT:Yes
【说明】
用于生成简单的声音
【返回值】
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError
【其它】
在windows95中,这个函数简单的播放默认系统响铃
【参数表】
dwFreq --------- Long,声音频率(从37Hz到32767Hz)。在windows95中忽略
dwDuration ----- Long,声音的持续时间,以毫秒为单位。如为-1,表示一直播放声音,直到再次调用该函数为止。在windows95中会被忽略
我来回复