Программирование стратегических игр с DirectX 9.0

         

Загрузчик DirectMusic


Загрузчик в DirectMusic одвечает за загрузку аудио-содержимого. С его помощью вы можете загрузить файлы MIDI, файлы WAV, коллекции DLS и файлы сегментов DirectMusic. Как только вы сообщите, какой именно аудио-ресурс вам требуется загрузить, загрузчик выполнит всю необходимую работу и начнет потоковое чтение ресурса. Вам остается только выполнить воспроизведение аудиоданных!

Загрузчик использует единственный интерфейс с именем IDirectMusicLoader8. Возможно, вы удивляетесь почему в имени интерфейса DirectX 9.0 не стоит цифра 9? Дело в том, что по сравнению с 8 версией в DirectMusic не было сделано никаких существенных изменений. Большинство изменений были сделаны для увеличения быстродействия кода.

Интерфейс загрузчика содержит несколько методов, перечисленных в таблице 7.1.

Таблица 7.1. Методы интерфейса IDirectMusicLoader8

Метод Описание
CacheObject Увеличивает счетчик ссылок объекта. Полезно использовать для предотвращения многократной загрузки объекта.
ClearCache Очищает счетчик ссылок для объекта указанного типа.
CollectGarbage Очищает неиспользуемые ссылки.
EnableCache Включает автоматическое кэширование. Может также применяться для выключения автоматического кэширования.
EnumObject Перечисляет объекты заданного типа.
GetObject Возвращает объект.
LoadObjectFromFile Загружает объект из файла. Это наиболее часто используемый метод, поскольку он отвечает за загрузку файлов WAV.
ReleaseObjectByUnknown Освобождает ссылку на объект.
ReleaseObject Освобождает ссылку на объект.
ScanDirectory Выполняет поиск в каталоге файлов указанного типа. Кэширует результаты для перечисления.
SetObject Позволяет установить атрибуты некорректного объекта.
SetSearchDirectory Устанавливает путь к каталогу, в котором будет выполняться поиск аудиофайлов.

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



Содержание раздела