Поделиться через


Форматы аудиоданных

Чтобы указать формат данных для волнового аудиопотока, за структурой KSDATAFORMAT немедленно следует структура WAVEFORMATEX или KSDSOUND_BUFFERDESC , а члену Спецификатор KSDATAFORMAT соответственно присваивается одно из следующих двух значений:

  • KSDATAFORMAT_SPECIFIER_WAVEFORMATEX

    Указывает, что формат данных принадлежит волновому потоку, который используется приложением waveIn или waveOut. В этом случае, если formatSize структуры KSDATAFORMAT достаточно большой, описатель формата данных, следующий за структурой KSDATAFORMAT, является структурой WAVEFORMATEX.

  • KSDATAFORMAT_SPECIFIER_DSOUND

    Указывает, что формат данных принадлежит волновому потоку, который используется приложением DirectSound. В этом случае описатель формата данных, следующий за структурой KSDATAFORMAT, представляет собой KSDSOUND_BUFFERDESC структуру, которая содержит внедренную структуру WAVEFORMATEX.

Структура KSDATAFORMAT_WAVEFORMATEX инкапсулирует как структуру KSDATAFORMAT, так и следующую за ней структуру WAVEFORMATEX. Аналогичным образом структура KSDATAFORMAT_DSOUND инкапсулирует как структуру KSDATAFORMAT, так и структуру DSOUND_BUFFERDESC, которая следует за ней.

Для KSDATAFORMAT_WAVEFORMATEX или KSDATAFORMAT_DSOUND последним элементом в структуре является внедренная структура WAVEFORMATEX; в случае KSDATAFORMAT_DSOUND структура WAVEFORMATEX содержится во встроенной структуре DSOUND_BUFFERDESC. В любом случае структура WAVEFORMATEX может быть началом структуры WAVEFORMATEXTENSIBLE . В этом случае члену wFormatTag waveFORMATEX присваивается значение WAVE_FORMAT_EXTENSIBLE. Дополнительные сведения см. в разделе Расширяемые дескрипторы Wave-Format.

Чтобы указать формат данных для потока MIDI или DirectMusic, достаточно структуры KSDATAFORMAT; За ней не следуют какие-либо дополнительные сведения.

Примеры форматов данных wave и DirectSound см. в разделах Формат данных ПОТОКА PCM и Формат данных DirectSound Stream. Примеры форматов данных MIDI и DirectMusic см. в разделах Формат данных MIDI Stream и Формат данных DirectMusic Stream.