Программирование звука в DirectSound
Страница 8. DSCAPS - параметры устройства воспроизведения


 

DSCAPS - параметры устройства воспроизведения

Данная структура описывает возможности и параметры устройства воспроизведения. Для удобства определен тип LPCDSCAPS - константный указатель на тип DSCAPS.

DWORD   dwSize;
DWORD   dwFlags;
DWORD   dwMinSecondarySampleRate;
DWORD   dwMaxSecondarySampleRate;
DWORD   dwPrimaryBuffers;
DWORD   dwMaxHwMixingAllBuffers;
DWORD   dwMaxHwMixingStaticBuffers;
DWORD   dwMaxHwMixingStreamingBuffers;
DWORD   dwFreeHwMixingAllBuffers;
DWORD   dwFreeHwMixingStaticBuffers;
DWORD   dwFreeHwMixingStreamingBuffers;
DWORD   dwMaxHw3DAllBuffers;
DWORD   dwMaxHw3DStaticBuffers;
DWORD   dwMaxHw3DStreamingBuffers;
DWORD   dwFreeHw3DAllBuffers;
DWORD   dwFreeHw3DStaticBuffers;
DWORD   dwFreeHw3DStreamingBuffers;
DWORD   dwTotalHwMemBytes;
DWORD   dwFreeHwMemBytes;
DWORD   dwMaxContigFreeHwMemBytes;
DWORD   dwUnlockTransferRateHwBuffers;
DWORD   dwPlayCpuOverheadSwBuffers;
DWORD   dwReserved1;
DWORD   dwReserved2;  
  • dwSize - размер структуры в байтах;
  • dwFlags - флаги характеристик устройства. Имена флагов имеют префикс DSCAPS_:

CONTINUOUSRATE

Устройство поддерживает любые значения частоты дискретизации - от минимальной до максимальной с точностью примерно до 10 Гц. Отсутствие этого флага означает поддержку только стандартных частот - 8000, 11 025, 22 050 и т.д.

PRIMARY16BIT

В первичном буфере поддерживаются 16-разрядные форматы

PRIMARY8BIT

В первичном буфере поддерживаются 8-разрядные форматы

PRIMARYMONO

В первичном буфере поддерживаются монофонические форматы

PRIMARYSTEREO

В первичном буфере поддерживаются стереофонические форматы

SECONDARY16BIT

Аппаратный микшер поддерживает вторичные буферы в 16-разрядных форматах

SECONDARY8BIT

Аппаратный микшер поддерживает вторичные буферы в 8-разрядных форматах

SECONDARYMONO

Аппаратный микшер поддерживает вторичные буферы в монофонических форматах

SECONDARYSTEREO

Аппаратный микшер поддерживает вторичные буферы в стереофонических форматах

EMULDRIVER

Устройство не имеет специализированного драйвера, и DirectSound эмулирует интерфейсы посредством стандартной подсистемы MME/Wave

CERTIFIED

Драйвер устройства проверен и сертифицирован Microsoft

  • dwMinSecondarySampleRate, dwMaxSecondarySampleRate - минимальная и максимальная частота дискретизации, поддерживаемая для аппаратных вторичных буферов;
  • dwPrimaryBuffers - количество поддерживаемых первичных буферов. В текущей модели всегда равно единице;
  • dwMaxHwMixingAllBuffers - максимальное общее количество поддерживаемых буферов с аппаратным смешиванием. Может быть меньше суммы числа статических и потоковых буферов из-за различия способов их организации в аппаратуре;
  • dwMaxHwMixingStaticBuffers - максимальное количество статических звуковых буферов с аппаратным смешиванием;
  • dwMaxHwMixingStreamingBuffers - максимальное количество потоковых звуковых буферов с аппаратным смешиванием;
  • dwFreeHwMixingAllBuffers, dwFreeHwMixingStaticBuffers, dwFreeHwMixingStreamingBuffers - количество свободных буферов с аппаратным смешиванием - всех, статических и потоковых;
  • dwMaxHw3DAllBuffers, dwMaxHw3DStaticBuffers, dwMaxHw3DStreamingBuffers - максимальное количество аппаратных буферов для источников объемного звука - всех, статических и потоковых;
  • dwFreeHw3DAllBuffers, dwFreeHw3DStaticBuffers, dwFreeHw3DStreamingBuffers - количество свободных аппаратных буферов для источников объемного звука - всех, статических и потоковых.
  • dwTotalHwMemBytes - общий объем внутренней памяти адаптера, доступной для размещения статических буферов;
  • dwFreeHwMemBytes - объем свободной внутренней памяти адаптера;
  • dwMaxContigFreeHwMemBytes - объем наибольшего непрерывного участка внутренней памяти адаптера;
  • dwUnlockTransferRateHwBuffers - скорость пересылки данных из основной памяти в память адаптера (Кбайт/с). Пересылка выполняется при вызове метода Unlock, время отработки метода может быть определено из значения этого поля и объема занесенных в буфер звуковых данных;
  • dwPlayCpuOverheadSwBuffers - приблизительная доля времени центрального процессора (в %), необходимая для смешивания звука из буферов, расположенных в основной памяти;
  • dwReserved1, dwReserved2 - служебные поля.

 

 
« Предыдущая статья   Следующая статья »