Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Графика -> Гончаров Д. -> "DirectX 7.0 Для программистов" -> 76

DirectX 7.0 Для программистов - Гончаров Д.

Гончаров Д., Салихо Т. DirectX 7.0 Для программистов — Спб.: Питер, 2001. — 528 c.
ISBN 5-318-00173-4
Скачать (прямая ссылка): dirext7dlyaprogrammistov2001.djvu
Предыдущая << 1 .. 70 71 72 73 74 75 < 76 > 77 78 79 80 81 82 .. 229 >> Следующая

Попутно будут рассмотрены возможности Win32 по созданию многопоточных приложений, такие как формирование и прекращение нового потока, объекты синхронизации потоков, а также использование файлов, проецируемых в память.
На сегодняшний день звук представляет собой неотъемлемую и очень важную часть практически любого приложения (в особенности игровой программы). Времена, когда достаточно было запрограммировать несколько невнятных звуков, извлекаемых с помощью встроенного динамика компьютера, чтобы приложение считалось имеющим звуковое сопровождение, давно прошли. Правильно подобранное звуковое оформление игры способно менять мироощущение пользователя в самом широком диапазоне — от розового оптимизма до самого черного пессимизма. О весомой роли звука говорит тот факт, что в процессе разработки компьютерных игр обычно участвуют люди, занимающиеся конкретно сочинени-
Что же такое DirectSound
Что же такое DirectSound
179
ем музыки и звуковым дизайном. Однако в их обязанности входит именно создание звука, воспроизведения созданных звуков во время выполнения программы, как всегда, ложится на плечи прикладных программистов. Впрочем, такой подход является повсеместной практикой и никого не удивляет.
Во времена господства DOS программирование звуковых карт представляло собой кошмар, сравнимый лишь с программированием видеоадаптеров от самых разных производителей. Использование низкоуровневых функций, существенные и зачастую кардинальные различия в устройстве и функционировании звуковых карт заставляли программиста большую часть времени проводить за изучением спецификаций на конкретную звуковую карту (этим можно заниматься и сегодня — большинство серьезных производителей звуковых карт публикуют на своих Web-сайтах соответствующие материалы).
С появлением Windows ситуация, естественно, изменилась. И, конечно же, во главу угла при создании функций работы со звуком в этой операционной системе была поставлена аппаратная независимость. Это подразумевает, что программист может использовать универсальные функции, подобные PlaySound, не заботясь о том, какое конкретное звуковое оборудование имеется в наличии. Но за все приходится расплачиваться. Высокий уровень аппаратной абстракции повлек за собой существенное снижение производительности, выражающееся, например, в ощутимой задержке между вызовом функции проигрывания и фактическим началом воспроизведения звука. Кроме того, использование функций проигрывания звука Windows не позволяет программисту контролировать некоторые (иногда очень важные) аспекты воспроизведения звука.
Для работы с оцифрованным звуком в библиотеку DirectX включен компонент DirectSound, предназначенный для воспроизведения оцифрованного звука в формате WAVE. Этот компонент, как и большинство компонентов DirectX, построенных на базе СОМ, реализует HAL и HEL (об уровнях абстрагирования и эмуляции см. приложение Б), которые размещают DirectSound где-то посередине между полным аппаратным контролем времен DOS и полным абстрагированием от аппаратуры в стиле Windows. Обеспечивая производительность, которой можно достичь лишь максимально используя особенности конкретного звукового устройства, DirectSound снабжает программиста единообразным и последовательным API для доступа к этому устройству.
Кратко рассмотрим интерфейсы, из которых состоит DirectSound. В сравнении с другими компонентами этих интерфейсов не так много.
О IDirectSound — главный интерфейс, представляющий в программе собственно объект DirectSound; любое приложение должно создавать этот интерфейс, чтобы, используя его методы, должным образом настроить среду и получить доступ к звуковым буферам.
О IDirectSoundBuffer — второй по важности интерфейс, реализующий концепцию звукового буфера. Предназначен для хранения последовательности звуковых данных (сэмплов) и их воспроизведения.
О IDirectSoundNotify — обеспечивает уведомления для звуковых и записывающих буферов о достижении внутри этих буферов определенных позиций.
О IDirectSoundCapture — главный интерфейс, используемый при записи звука средствами DirectSound, который позволяет создавать буферы для записи звука.
180
Урок 7 • Основы использования DirectSound
О IDirectSoundCaptureBuffer — интерфейс, содержащий записываемый звук. Создается методами интерфейса IDirectSoundCapture.
О IDirectSound3DBuffer — дополняет простой звуковой буфер возможностями трехмерного звука.
О IDirectSound3DListener — реализует управление позицией, ориентацией и скоростью перемещения воображаемого слушателя. По умолчанию голова «слушателя» располагается в центре виртуальных трехмерных координат.
О IKsPropertySet — позволяет получить доступ к возможностям конкретной звуковой карты, которые, пока еще не нашли своего отражения в API.
Существует немало причин, по которым DirectSound API выбирается программистом в качестве используемого. Среди них:
О Малая задержка между запросом на воспроизведение звука и фактическим началом этого воспроизведения. Некоторые авторы, пишущие по поводу компьютерного звука, уже окрестили эту особенность «низкой латентностью» (от англ. «low-latency»).
Предыдущая << 1 .. 70 71 72 73 74 75 < 76 > 77 78 79 80 81 82 .. 229 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.