回 帖 发 新 帖 刷新版面

主题:如何用VB编个音乐,不要控件,只要代码!!

可以给个音乐的代码

回复列表 (共2个回复)

沙发

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等

板凳

不知楼主是不是想做像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中会被忽略

我来回复

您尚未登录,请登录后再回复。点此登录或注册