Программирование игр для Windows. Советы профессионала


Замечание - часть 5


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

ВХОД: AX=695h

DS:SI        *Реальный режим*. Указатель на звуковую структуру, описывающую звуковой эффект.

ESI          *Прямая адресация* В случае использования 32-разрядной адресации, ESI указывает на 32-разрядный адрес звуковой структуры в первом мегабайте адресного пространства. Будет преобразован драйвером DIGPAK в допустимый адрес СЕГМЕНТ:СМЕЩЕНИЕ.

ВЫХОД: АХ=0        Началось воспроизведение фрагмента.

АХ=1        Фрагмент поставлен в очередь на воспроизведение.

АХ=2        В очереди уже имеется фрагмент, поэтому данный фрагмент в очередь не поставлен.

Функция № 15: AudioPendingStatus

Функция позволяет получить текущий статус состояния двойного буфера функции PostAud io Pending. Система с двойной буферизацией может находиться в одном из трех состояний. В состоянии 0 никакой звуковой фрагмент не воспроизводится. В состоянии 1 музыкальный фрагмент воспроизводится, но в очереди фрагментов больше нет (это означает, что пришло время поместить-в очередь следующий звуковой фрагмент). И, наконец, последний вариант — первый фрагмент воспроизводится, а второй уже находится в очереди, в этом случае никаких действий от прикладной программы не требуется,

ВХОД:  АХ=696Ь ВЫХОД: АХ=0        Никакой фрагмент не воспроизводится.

АХ=1        Один фрагмент воспроизводится, другой фрагмент ожидает своей очереди.

АХ=2        Звуковой фрагмент воспроизводится, но очередь пуста.

Функция № 16: SetStereoPan

В настоящее время эта функция поддерживается только несколькими устройствами, например, Sound Blaster Pro.


Начало  Назад  Вперед



Книжный магазин