ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro to Play Wave File (https://www.excelbanter.com/excel-programming/281295-macro-play-wave-file.html)

yo beee

Macro to Play Wave File
 
I have a macro to play a wave file. It works great (See code below) but,
the macro won't play my wave file all the way through to the end. It plays
about 5 - 10 seconds of the file and that is about it.
Does anyone have any idea on how to make the macro play the entire file
all the way through?
TIA

Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long

Sub PlayMe1()
Dim retval As Long
retval = PlaySound("C:\My folder\my subfolder\wav1.wav", 0, &H20000)
End Sub



Tom Ogilvy

Macro to Play Wave File
 
Try this:

Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long

Sub PlayMe1()
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Dim retval As Long
retval = PlaySound("C:\My folder\my subfolder\wav1.wav", _
0, SND_ASYNC Or SND_FILENAME)
End Sub


--
Regards,
Tom Ogilvy


yo beee wrote in message
...
I have a macro to play a wave file. It works great (See code below)

but,
the macro won't play my wave file all the way through to the end. It plays
about 5 - 10 seconds of the file and that is about it.
Does anyone have any idea on how to make the macro play the entire

file
all the way through?
TIA

Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long

Sub PlayMe1()
Dim retval As Long
retval = PlaySound("C:\My folder\my subfolder\wav1.wav", 0, &H20000)
End Sub





yo beee

Macro to Play Wave File
 
Tom,
Thanks! It worked perfectly. Any ideas on how to stop all wav files with
a command button?
Thanks again. Your a lifesaver!
yobeee
"Tom Ogilvy" wrote in message
...
Try this:

Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long

Sub PlayMe1()
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Dim retval As Long
retval = PlaySound("C:\My folder\my subfolder\wav1.wav", _
0, SND_ASYNC Or SND_FILENAME)
End Sub


--
Regards,
Tom Ogilvy


yo beee wrote in message
...
I have a macro to play a wave file. It works great (See code below)

but,
the macro won't play my wave file all the way through to the end. It

plays
about 5 - 10 seconds of the file and that is about it.
Does anyone have any idea on how to make the macro play the entire

file
all the way through?
TIA

Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long

Sub PlayMe1()
Dim retval As Long
retval = PlaySound("C:\My folder\my subfolder\wav1.wav", 0, &H20000)
End Sub







Tom Ogilvy

Macro to Play Wave File
 
Untested, but you can try this:

Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long

Sub StopMe1()
Const SND_PURGE = &H40
Dim retval As Long
retval = PlaySound(vbNullString, _
0, SND_PURGE = &H40)
End Sub

You don't need to repeat the declaration if it is already in the module.

--
Regards,
Tom Ogilvy


yo beee wrote in message
...
Tom,
Thanks! It worked perfectly. Any ideas on how to stop all wav files

with
a command button?
Thanks again. Your a lifesaver!
yobeee
"Tom Ogilvy" wrote in message
...
Try this:

Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long

Sub PlayMe1()
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Dim retval As Long
retval = PlaySound("C:\My folder\my subfolder\wav1.wav", _
0, SND_ASYNC Or SND_FILENAME)
End Sub


--
Regards,
Tom Ogilvy


yo beee wrote in message
...
I have a macro to play a wave file. It works great (See code

below)
but,
the macro won't play my wave file all the way through to the end. It

plays
about 5 - 10 seconds of the file and that is about it.
Does anyone have any idea on how to make the macro play the entire

file
all the way through?
TIA

Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long

Sub PlayMe1()
Dim retval As Long
retval = PlaySound("C:\My folder\my subfolder\wav1.wav", 0,

&H20000)
End Sub










All times are GMT +1. The time now is 03:10 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com