Q186493: SAMPLE: LLStream.exe Plays Streaming Audio Files
Article: Q186493
Product(s): Microsoft Visual Basic for Windows
Version(s): 5.0,6.0
Operating System(s):
Keyword(s): kbfile kbsample kbsound kbVBp500 kbVBp600 kbGrpDSVB kbDSupport kbStreaming
Last Modified: 11-MAR-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual Basic Learning Edition for Windows, version 5.0
- Microsoft Visual Basic Professional Edition for Windows, versions 5.0, 6.0
- Microsoft Visual Basic Enterprise Edition for Windows, versions 5.0, 6.0
-------------------------------------------------------------------------------
SUMMARY
=======
LLStream.exe is a sample that contains a Visual Basic project that demonstrates
how to play streaming audio files by calling several low-level functions in the
Windows API. This sample helps you create a program that plays audio files
continually without slowing down the operating system.
MORE INFORMATION
================
The following files are available for download from the Microsoft Download
Center:
LLstream.exe
(http://download.microsoft.com/download/vb50pro/samp34/1/WIN98/EN-US/LLstream.exe)
The sample uses several low-level functions in the Windows API to work around the
Multimedia Control Interface. You must be familiar with using Visual Basic to
call the Windows API functions to understand how this sample works.
When you run the self-extracting executable file, the following files are
expanded into the Low-Level Streaming Audio Sample Project directory:
- Form1.frm (3Kb) - the main form
- Module1.bas (12Kb) - the module containing the function declarations
- Project1.vbp (1Kb) - the main project file
- Project1.vbw (1Kb) - the project workspace
- Readme.txt - overview of the sample and download information
The Multimedia Control Interface (MCI) is the one way to add multimedia
capabilities to your program in Visual Basic. However, when you use the MCI to
play audio files continuously, you can slow down or lock the operating system.
This sample shows how to call the appropriate functions directly to work around
the limitations of the MCI. Because the sample hooks into a Windows process, you
should compile this sample and run the executable file rather than running the
sample from the Visual Basic design environment.
The sample uses the following functions in the Windows API:
GlobalAlloc
GlobalFree
GlobalLock
mmioAscend
mmioClose
mmioDescend
mmioDescendParent
mmioOpen
mmioRead
mmioReadString
mmioSeek
mmioStringToFOURCC
PostWavMessage
RtlMoveMemory
waveOutClose
waveOutGetDevCaps
waveOutGetErrorText
waveOutGetNumDevs
waveOutGetPosition
waveOutOpen
waveOutPrepareHeader
waveOutReset
waveOutUnprepareHeader
waveOutWrite
Additional query words:
======================================================================
Keywords : kbfile kbsample kbsound kbVBp500 kbVBp600 kbGrpDSVB kbDSupport kbStreaming
Technology : kbVBSearch kbAudDeveloper kbZNotKeyword6 kbZNotKeyword2 kbVB500Search kbVB600Search kbVBA500 kbVBA600 kbVB500 kbVB600
Version : :5.0,6.0
Issue type : kbhowto
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.