Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, Waveform Audio, jest starszą funkcją. Został zastąpiony przez WASAPI i Audio Graphs. WASAPI i Audio Graph s zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Jeśli to możliwe, firma Microsoft zdecydowanie zaleca, aby nowy kod używał WASAPI i Audio Graphs zamiast Waveform Audio. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Aby sprawdzić, czy urządzenie obsługuje określony format (standardowy lub niestandardowy), możesz wywołać funkcję waveOutOpen z flagą WAVE_FORMAT_QUERY. W poniższym przykładzie użyto tej techniki w celu określenia, czy urządzenie waveform-audio obsługuje określony 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
}
Ta technika określania niestandardowej obsługi formatu ma również zastosowanie do urządzeń wejściowych waveform-audio. Jedyną różnicą jest to, że funkcja waveInOpen jest używana zamiast waveOutOpen do wykonywania zapytań o obsługę formatu.
Aby określić, czy określony format danych waveform-audio jest obsługiwany przez dowolne z urządzeń audio w systemie, użyj techniki przedstawionej w poprzednim przykładzie, ale określ stałą WAVE_MAPPER dla parametru uDeviceID.