2016-02-01 11 views

ответ

0

Прежде всего, DirectSound является древним в этой точке. Он по-прежнему поддерживается для старых игр, а заголовки DirectSound 8 находятся в SDK Windows, но за последние десять лет не было никаких проб или обновлений документации.

Модель аудиодрайвера Windows (WDM), однако, не поддерживает аппаратное смешение звука, подобное тому, которое требуется для Creative EAX. Поддержка этого была удалена с Windows Vista, поэтому EAX нельзя использовать ни с помощью DirectSound, ни с XAudio2.

Суммируя изменения модели драйвера Windows Vista w.r.t в DirectSound:

  • LOC_SOFTWARE буферов может поддерживать форматы объемного звука многоканальные. В Windows XP поддерживались только моно или стерео для LOC_SOFTWARE.

  • LOC_HARDWARE Буферы не поддерживаются.

  • Эффекты (I3DL, EAX и т. Д.) Не поддерживаются DirectSound.

  • DirectSound 3D-позиционирование ограничено монофоническими звуками.

XAudio2 поддерживает экологическую реверберацию и 3D-позиционирование звука, включая многоканальные источники, все сделано в программном обеспечении.

XAudio 2.8 в Windows SDK, хотя вы должны использовать устаревший DirectX SDK для XAudio 2,7 целевого ОС Windows 7 или Windows Vista - см this post для деталей. Образцы можно найти на GitHub. DirectX Tool Kit for Audio - очень полезная абстракция для использования XAudio2 из C++.

Чтобы получить доступ к оборудованию для таких функций, как EAX, вам необходимо использовать стороннее решение, такое как OpenAL. См. Creative site для получения дополнительной информации.