Visual Basic - мастерская разработчика
Библиотеки

DirectX

Обзоры
DirectDraw
Direct3D
DirectX Audio
DirectPlay
DirectInput
Fido Topics
SourceCode
Tools&Libs

OpenGL

Статьи и учебники
Fido Topics
SourceCode
Tools&Libs

Архив по Glide

Движки

Обзоры
Учебники
SourceCode
Downloads

Создание игр

Ваши игры

Обзорные статьи
Учебники
Fido Topics
SourceCode
Download

Stuff

Программер-Чат

Псевдо-FTP
Disclaimer
Оффтопик

 

Обзор проигрывания

"Теория DirectSound"


Объект буфера DirectSound представляет собой буфер с данными в формате pulse code modulation (PCM). Объект буфера используется для старта, остановки и приостановки проигрывания, а также для установки таких свойств проигрывания, как формат и частота.

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

Обычно, могут быть слышны буфера только одного приложения, активного в данный момент, потому что только одно приложение имеет доступ к одному устройству DirectSound в определенный момент времени.

В зависимости от типа карты, буфера DirectDraw физически могут существовать, как RAM на звуковой карте, память wave-table, канал прямого доступа к памяти (Direct Memory Access - DMA) или виртуальный буфер (для звуковых карт построенный на основе I/O портов). Если нет возможности аппаратного создания буферов DirectSound, происходит программная эмуляция с созданием буферов в системной памяти.

Несколько приложений могут создавать объекты DirectSound для одного звукового устройства. Когда фокус меняется между приложениями, аудио вывод автоматически переключается с одного потока на другой. Как результат, приложения избавлены от необходимости постоянно проигрывать и останавливать свои буфера при изменении фокуса.

Posted: 23.01.2k1
Autor: Antiloop
<anti_loop@mail.ru>

 


Проект
Создание Народного Учебника по OpenGL

Участвовать!
Поиск
Найдите статью или файл:


Рассылка
Новости сайта
La Vision в вашем почтовом ящике








Программирование на С++ Delphi и Паскаль
Центр демо-искусства в России