marcelo3092 4/7/2019, 01:10
Ola Amigo bom uso este código abaixo, num módulo salve:
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, _
ByVal lpstrReturn As String, ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Sub Toca(strMusicFile As String)
Dim cmd As String, MusicType As String
Dim ret
On Error GoTo sai
' Verifica se existe o arquivo gravado.
If Dir(strMusicFile) = "" Then
MsgBox "O arquivo de áudio não é válido", vbInformation, "Impossível reproduzir "
Exit Sub
End If
'pega a extensão do arquivo
MusicType = UCase(Right$(strMusicFile, 3))
' Verifica o tipo de arquivo que esta sendo objeto dessa rotina.
Select Case MusicType
Case "MID"
cmd = "open """ & strMusicFile & """ type sequencer alias myaudio"
Case "MP3"
cmd = "open " & """" & strMusicFile & """" & " alias myaudio"
Case "WAV"
cmd = "open " & """" & strMusicFile & """" & " alias myaudio"
Case "WPL"
cmd = "open " & """" & strMusicFile & """" & " alias myaudio"
Case Else
GoTo sai
End Select
'Se tiver tocando alguma coisa pára.
StopMusic
' Open the file.
ret = mciSendString(cmd, 0&, 0, 0)
If ret <> 0 Then
MsgBox "Houve um erro na reprodução do arquivo '" & strMusicFile & _
"'." & vbCrLf & vbCritical, "ERRO"
Else
'Play the file
cmd = "Play myaudio"
ret = mciSendString(cmd, vbNullString, 0, 0)
End If
Exit Sub
sai:
End Sub
Private Sub StopMusic()
Dim ret
ret = mciSendString("close myaudio", vbNullString, 0, 0)
End Sub
e no formulario
Public Function Som()
Dim strPath As String
strPath = CurrentProject.Path & "\Sons\AvisoMensagens.mp3" ' Aqui você coloca o toque que queira na pasta do sistema e adiciona o nome com a extenção e so chamar a função call som
Call Toca(strPath)
End Function
Porem o correto seria ver como esta seu procedimento de verificação de chamado.