From: Jpeg Jones Jpeg on 15 Sep 2009 18:43 I have an Excel user form with a button that plays a wav file using mciSendString. I am trying to make use of the notify parameter so I can take some action when the file is done playing, but I can't get it to work. Here is my relevant code: Call mciSendString("play WavFile notify", 0, 0, AddressOf mciSendStringProc) This is supposed to send the notify message to a procedure called mciSendStringProc (located in a module). Here is the code for that: Public Function mciSendStringProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long MsgBox uMsg & wParam & lParam mciSendStringProc = True End Function The wav file plays successfully, but I cannot get anything to happen when it's finished.
From: Chip Pearson on 15 Sep 2009 19:10 See the code at http://www.cpearson.com/Excel/PlaySound.aspx. This shows how to use the PlaySound API function to play a wav file synchronously (wait for complete) or asynchronously. Cordially, Chip Pearson Microsoft Most Valuable Professional Excel Product Group, 1998 - 2009 Pearson Software Consulting, LLC www.cpearson.com (email on web site) On Tue, 15 Sep 2009 15:43:03 -0700, Jpeg Jones <Jpeg Jones(a)discussions.microsoft.com> wrote: >I have an Excel user form with a button that plays a wav file using >mciSendString. I am trying to make use of the notify parameter so I can take >some action when the file is done playing, but I can't get it to work. Here >is my relevant code: > >Call mciSendString("play WavFile notify", 0, 0, AddressOf mciSendStringProc) > >This is supposed to send the notify message to a procedure called >mciSendStringProc (located in a module). Here is the code for that: > >Public Function mciSendStringProc(ByVal hWnd As Long, ByVal uMsg As Long, >ByVal wParam As Long, ByVal lParam As Long) As Long > >MsgBox uMsg & wParam & lParam > >mciSendStringProc = True > >End Function > >The wav file plays successfully, but I cannot get anything to happen when >it's finished.
From: Jpeg Jones on 15 Sep 2009 19:32 Thanks, Chip. But I also need the user to be able to stop the wave file at any time (using another button). Using the Wait parameter suspends the form until the file is done. It seems like utilizing the dll's callback is the solution, but I can't get it to work. "Chip Pearson" wrote: > See the code at http://www.cpearson.com/Excel/PlaySound.aspx. This > shows how to use the PlaySound API function to play a wav file > synchronously (wait for complete) or asynchronously. > > Cordially, > Chip Pearson > Microsoft Most Valuable Professional > Excel Product Group, 1998 - 2009 > Pearson Software Consulting, LLC > www.cpearson.com > (email on web site) > > > On Tue, 15 Sep 2009 15:43:03 -0700, Jpeg Jones <Jpeg > Jones(a)discussions.microsoft.com> wrote: > > >I have an Excel user form with a button that plays a wav file using > >mciSendString. I am trying to make use of the notify parameter so I can take > >some action when the file is done playing, but I can't get it to work. Here > >is my relevant code: > > > >Call mciSendString("play WavFile notify", 0, 0, AddressOf mciSendStringProc) > > > >This is supposed to send the notify message to a procedure called > >mciSendStringProc (located in a module). Here is the code for that: > > > >Public Function mciSendStringProc(ByVal hWnd As Long, ByVal uMsg As Long, > >ByVal wParam As Long, ByVal lParam As Long) As Long > > > >MsgBox uMsg & wParam & lParam > > > >mciSendStringProc = True > > > >End Function > > > >The wav file plays successfully, but I cannot get anything to happen when > >it's finished. >
|
Pages: 1 Prev: autopopulate fields in userform based on selection in one field Next: Excel 2007 print problem |