 |
|
SQL Server Tips by Burleson |
XP_PLAYSOUNDMEMORY
This final XP in XP_NOTIFY plays a wave file directly from a
parameter representation of a wave file. This parameter can be a
“varbinary” or “image” data type. Using the “SND_MEMORY” flag when
calling the “PlaySound” function specifies this in-memory
representation. An interesting quirk to testing this XP is that due
to the inability to declare “image” data type variables in TSQL, we
cannot use TSQL and Query Analyzer directly to fully test this XP.
TSQL does provide a TEXTPTR data type, which allows you to read
“image” data a chunk at a time, but to play a sound from memory;
PlaySound requires a wave file to be represented as a continuous
chunk of memory. If you do want to test this function from TSQL then
you must limit the wave file size to less than 8000 bytes. This in
memory representation also means that this XP is limited to wave
files which can be fully loaded into memory. This is not too big a
limitation in this case, but if you are developing a fully fledged
audio management application which needs to handle arbitrary sized
wave files, then you will need to use the lower level Waveform
functions in the Windows SDK such as “waveOutWrite” or the DirectX
Audio APIs.
The above book excerpt is from:
Super SQL
Server Systems
Turbocharge Database Performance with C++ External Procedures
ISBN:
0-9761573-2-2
Joseph Gama, P. J. Naughter
http://www.rampant-books.com/book_2005_2_sql_server_external_procedures.htm |