Determining Nonstandard Format Support
To see whether a device supports a particular format (standard or
nonstandard), you can call the
waveOutOpen function with the WAVE_FORMAT_QUERY flag. The following example uses this
technique to determine whether a waveform-audio device supports a specified format.
// Determines whether the specified waveform-audio output device
// supports a specified waveform-audio format. Returns
// MMSYSERR_NOERROR if the format is supported, WAVEERR_BADFORMAT if
// the format is not supported, and one of the other MMSYSERR_ error
// codes if there are other errors encountered in opening the
// specified waveform-audio device.
MMRESULT IsFormatSupported(LPWAVEFORMATEX pwfx, UINT uDeviceID)
{
return (waveOutOpen(
NULL, // ptr can be NULL for query
uDeviceID, // the device identifier
pwfx, // defines requested format
NULL, // no callback
NULL, // no instance data
WAVE_FORMAT_QUERY)); // query only, do not open device
}
This technique for determining nonstandard format support also applies to
waveform-audio input devices. The only difference is that the
waveInOpen function is used in place of
waveOutOpen to query for format support.
To determine whether a particular waveform-audio data format is supported by
any of the waveform-audio devices in a system, use the technique illustrated in
the previous example, but specify the WAVE_MAPPER constant for the
uDeviceID parameter.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database