modsound.bas

来自「产生打字机的声音效果」· BAS 代码 · 共 48 行

BAS
48
字号
Attribute VB_Name = "modSound"
        '''''''''''''''''''''''''''''''''''''''''
        '                                       '
        '    Use Sounds in Visual Basic apps    '
        '                                       '
        '                  by                   '
        '                                       '
        '           Mikael Nordfelth            '
        '                                       '
        '''''''''''''''''''''''''''''''''''''''''
    
    ' For MIDI-playing
Public 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
    
    ' For WAV-playing
Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    

Public Const SND_SYNC = 0       ' Freeze program until sound is done
Public Const SND_ASYNC = 1      ' Continue program while sound plays
Public Const SND_NODEFAULT = 2  ' Do not beep if sound not found
Public Const SND_LOOP = 8       ' Loop sound
Public Const SND_NOSTOP = 16    ' The function returns false if another sound is playing
Public Const SND_STANDARD = SND_ASYNC + _
                            SND_NODEFAULT + _
                            SND_NOSTOP   ' The standard settings

Public Sub PlayWav(Filename As String, Optional pwFlags As Long = SND_STANDARD)
  Call sndPlaySound(Filename, pwFlags)
End Sub
Public Sub PlayMidi(Filename As String)
  Call mciSendString("Open " & Filename & " Alias MyMedia", 0, 0, 0)   ' Open the sound
  Call mciSendString("Play MyMedia", 0, 0, 0)  ' Play the opened sound
End Sub

Public Sub PauseMidi()
    Call mciSendString("Stop MyMedia", 0, 0, 0)  ' Pause
End Sub

Public Sub StopMidi()
    Call mciSendString("Stop MyMedia", 0, 0, 0)  ' Pause
    Call mciSendString("Close MyMedia", 0, 0, 0) ' End
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?