DirectSound — Википедия

DirectSound (англ. direct — прямой, непосредственный, и англ. sound — звук) — программный интерфейс (API) в системе Windows для воспроизведения и записи звука. Был основан на базе звуковой карты Creative Sound Blaster 16 (1992). Входит как компонентная часть расширения DirectX.

Интерфейс DirectSound был разработан в середине 1990-х в дополнение к стандартному звуковому интерфейсу MME, главным образом для воспроизведения звуков в играх и других приложениях реального времени. Впоследствии к нему были добавлены интерфейсы DirectSoundCapture, предназначенный для записи звука, и DirectSound3D, позволяющий работать с пространственными звуками.

DirectSound имеет объектно-ориентированную структуру, во многом похожую на COM, которая наиболее удобно используется в языке C++.

Интерфейс сочетает в себе свойства как низкого уровня (приближённость непосредственно к аппаратуре (звуковому адаптеру компьютера), высокая эффективность), так и высокого (независимость от архитектуры конкретного устройства, простота и гибкость программирования).

Работая с DirectSound, программист описывает нужное ему количество источников звука, указывая свойства каждого из источников (вид звучания, его громкость, высота, пространственное положение, направление и скорость движения в DirectSound3D). Затем в любой момент любой источник может быть включён, при этом его звучание добавляется к звучанию остальных источников (звуки смешиваются). В любой момент могут быть изменены свойства источника, либо он может быть выключен.

Звуковая подсистема Windows автоматически распределяет ресурсы звуковой платы между активными источниками, стараясь использовать их наиболее эффективно и задействуя возможности аппаратного ускорения (при их наличии). При отсутствии у платы тех или иных возможностей аппаратного ускорения они эмулируются программно за счёт ресурсов центрального процессора.

Начиная с Windows Vista API DirectSound3D удален из DirectX и для старых игр предлагается использовать ПО Creative ALchemy перенаправляющее вызовы DirectSound3D и EAX в свободный API OpenAL[1]. В качестве замены всей подсистемы DirectSound Microsoft предлагал использовать XAudio2, при этом в Windows XP вызовы XAudio2 еще транслировались в DirectSound[2].

Примечания

[править | править код]
  1. Creative: ALchemy — многоканальный звук в играх старого поколения. iXBT.com. Дата обращения: 16 января 2020. Архивировано из оригинала 18 мая 2013 года.
  2. XAudio2 (англ.) // Wikipedia. — 2018-08-14.