Solved

How do I launch a .wav file with windows media player minimized to play for 10 sec when in Microsoft Access when a form loads?

Posted on 2007-04-10
10
605 Views
Last Modified: 2010-06-07
How do I launch a .wav file with windows media player minimized to play for 10 sec when in Microsoft Access when a form loads?
0
Comment
Question by:tkschultz1207
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
10 Comments
 
LVL 15

Expert Comment

by:OMC2000
ID: 18881558
record 10 seconds wav file
in starter module/form open another small form first, open player, set property minimized, specify file to play and start playing.
with the next statement in starter module open your form which takes 10 seconds to get loaded, when it is loaded you might call function from the form, which started started media player to close it and then close that form too.

You could also use MCI32.OCX instead of windows media player.
0
 
LVL 13

Accepted Solution

by:
wiswalld earned 500 total points
ID: 18881741
Create a module with this
Option Compare Database
Declare Function MessageBeep Lib "user32.dll" (ByVal wType As Long) As Long
Public MySound() As Long ' return value
'wType
Public Const MB_ICONASTERISK = &H40
'Play the SystemAsterisk sound.
Public Const MB_ICONEXCLAMATION = &H30
'Play the SystemExclamation sound.
Public Const MB_ICONHAND = &H10
'Play the SystemHand sound.
Public Const MB_ICONQUESTION = &H20
'Play the SystemQuestion sound.
Public Const MB_OK = &H0
'Play the SystemDefault sound.
Public Const MB_REGULAR = &HFFFFFFFF
'Play a regular beep
Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal LpszSoundName As String, ByVal hMod As Long, ByVal uFlags As Long) As Long
Option Explicit

Public Function PlayWavFile(strPath As String)
    Dim snd_async As Long
    Call PlaySound(strPath, 0, snd_async)
End Function

On open or whatever call this code:

Call PlayWavFile("C:\your wav file")
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 18881765
How long is your wave file now? If u cut it down to 10 seconds (u can still use the good old windows recorder for that), u can simply call this api


Private Declare Function sndPlaySoundA Lib "WINMM.DLL" (ByVal lpszSoundName As String, ByVal ValueFlags As Long) As Long

Global Const SND_ASYNC = &H1
Global Const SND_NODEFAULT = &H2


Public Sub PlayWaveFile(ByVal sFile As String)
  Dim lRet As Long
  lRet = sndPlaySoundA(sFile, SND_ASYNC Or SND_NODEFAULT)
End Sub


Add the above code to a module and call the function PlayWaveFile
eg

PlayWaveFile "c:\fred.wav"

note its asynchronous so function will return even though music still playing in the background
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 65

Expert Comment

by:rockiroads
ID: 18881780
Sorry wiswalld, your post wasnt there when I started typing
0
 

Author Comment

by:tkschultz1207
ID: 18882862
I don't have time to record just ten seconds, is there a way in code I can say stop executing that file after say the timer is up on the form?
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 18883113
Ok, on form_load u play the sound, obviously and set the form's timer to kick in after 10 seconds

then to stop playing the music, u add the code to in the form_timer event

private sub form_timer
    stopthatwavefile
end sub


and the code posted earlier to play a wave file? add this in

Public Sub StopWaveFile()
  Dim lRet As Long
  lRet = sndPlaySoundA(vbNullString, SND_ASYNC)
End Sub

0
 
LVL 65

Expert Comment

by:rockiroads
ID: 18883119
>> I don't have time to record just ten seconds

sound recorder does it for you, u simply move the timer to 10secs then use the menu command to trim the rest then save as
its as simple as that
less than 2 mins work
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 18883130
ok, I see you accepted whilst I was answering your other question
I guess you must of figured it out then
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 18883222
tkschultz1207, just out of curiosity, would you mind telling us how u went about solving the problem of 10 seconds play only?
0
 

Author Comment

by:tkschultz1207
ID: 18888687
Sorry, I accepted the answer before you answered about the 10 seconds. I ended up not cutting the .wav file to 10 seconds and just played the entire .wav on close of the form which ended up being fine, since my presentation was due at 11am Texas time. Thanks for your help.
0

Featured Post

Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes two methods for creating a combo box that can be used to add new items to the row source -- one for simple lookup tables, and one for a more complex row source where the new item needs data for several fields.
If you need a simple but flexible process for maintaining an audit trail of who created, edited, or deleted data from a table, or multiple tables, and you can do all of your work from within a form, this simple Audit Log will work for you.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

717 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question