Войти
ДельфинарийСтатьи

Direct 3D Sound

Автор:


Использование Direct 3D Sound

Что нужно знать
  Единицы измерения
  Система координат
  Диаграмма направленности
  Min, Max Distance
  Слушатели
  Допплеровский эффект
  Звуковые файлы
Описание интерфейсов
  IDirectSound
  IDirectSoundBuffer
  IDirectSound3DListener
  IDirectSound3DBuffer
Начинаем кодить
  Модули
  Глобальные интерфейсы
    Инициализация
  Listener
  T3DSound
    Play
    Stop
    SetPosition
    SetSpeed
    SetVolume
    Create & Load
    Destroy

Что нужно знать

Единицы измерения

  По умолчанию применяются метры. Если Вам надо задавать значения в других системах, то нужно указать коэффициент поправки DistanceFactor

Система координат

  Такая же как и в Direct3D
Ось X - вправо, ось Y - вверх, ось Z - от нас

Диаграмма направленности

  В DirectSound только в виде конуса.
Необходимо задать два конуса - внешний и внутренний. Внутри внутреннего громкость звука зависит только от расстояния.  За пределами внешнего конуса громкость равна звуку источника уменьшенному в RolloffFactor раз. Между ними -  звук линейно интерполируется.

Min, Max Distance

Минимальное и максимальное растояние до источника звука.
При приближении к источнику ближе минимального расстояния, звук не становится громче. Аналогично, при удалении дальше чем на максимальную дальность - не становится более тихим

Слушатели

Слушатель может быть только один!

Допплеровский эффект

Изменение частоты звука в зависимости от относительного движения источника.
Для его вычисления требуется только векторы скорости источника и слушателя. Действительное положение объектов может не изменятся!

Звуковые файлы

Звук должен быть моно.
Формат хранения значения не имеет, так буффер заполняется вручную.

Описание интерфейсов

IDirectSound


Общий интерфейс для всех источников звука. От него создаются первичные и вторичные буфферы воспроизведения.
  Compact.................. Оптимизация использования памяти
  Initialize............... Начальная настройка интерфейса
  CreateSoundBuffer........ Создание первичного или вторичного буфера
  DuplicateSoundBuffer..... Создание первичного или вторичного буфера
  SetCooperativeLevel...... Установка уровня кооперации
  GetCaps.................. Получение свойств устройства
  Get(Set)SpeakerConfig.... Настройки динамиков

IDirectSoundBuffer


Буффер для воспроизведения отдельного звука и управления его характеристиками. Если буффер первичный, то он так же служит для микширования вторичных буфферов.
  GetCaps.................. Определение возможностей
  Get(Set)Formate.......... Формат данных для первичного буфера 
  GetStatus................ Получение состояния буфера
  Initialize............... Начальная инициализация
  Restore.................. Восстановка потерянной памяти
  Get(Set)CurrentPosition.. Текущая позиция воспроизведения
  Lock..................... Начало записи данных в буффер
  UnLock................... Конец записи данных в буффер
  Play..................... Воспроизведение буффера
  Stop..................... Остановка воспроизведения

IDirectSound3DListener


Управляет трехмерными характеристиками слушателя. Один интерфейс - на один первичный буффер!
  Get(Set)AllParameters.... Получение и установка всех парметров сразу
  CommitDefferedSettings... Применение отложенных настроек
  Get(Set)DistanceFactor... Коэффициент растояния
  Get(Set)DopplerFactor.... Фактор Допплера
  Get(Set)Orientation...... Ориентация слушателя
  Get(Set)Position......... Позиция слушателя
  Get(Set)RolloffFactor.... Фактор удаления
  Get(Set)Velocity......... Скорость слушателя

IDirectSound3DBuffer


Используется для управления трехмерными звуковыми эффектами для того буффера, от которого был порожден.
  Get(Set)AllParameters...... Получение и установка всех парметров сразу
  Get(Set)MaxDistance........ Максимальное растояние
  Get(Set)MinDistance........ Минимальное растояние
  Get(Set)Mode............... Режим работы
  Get(Set)Position........... Позиция источника
  Get(Set)ConeAngles......... Углы внешнего и внутреннего конусов
  Get(Set)ConeOrientation.... Направление внешнего и внутреннего конусов
  Get(Set)ConeOutsideVolume.. Гашение громкости за пределами внешнего конуса
  Get(Set)Velocity........... Скорость источника звука

Страницы: 1 2 Следующая »

19 ноября 2005 (Обновление: 21 ноя. 2005)

Комментарии [4]

Американские сигареты вред курения самые вредные сигареты.