Программирование звука в DirectSound - 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 - служебные поля.