Сегменты в DirectMusic представляют собой реально воспроизводимые звуковые данные. Любой файл WAV или последовательность MIDI, которые вы воспроизводите должны быть сперва загружены в сегмент. В DirectMusic существует два типа сегментов: первичные и вторичные. Первичный сегмент является главной звуковой дорожкой. Вторичные сегменты обычно используются для спецэффектов.
Вся функциональность сегментов сосредоточена в интерфейсе IDirectMusicSegment8. Так как он может содержать данные объектов различных типов, в нем достаточно много функций. Все они перечислены в таблице 7.3.
Таблица 7.3. Методы интерфейса IDirectMusicSegment8 | |
Метод | Описание |
AddNotificationType | Добавляет тип события. |
Clone | Копирует сегмент. |
Compose | Составляет дорожку. |
Download | Копирует данные в объект исполнителя. |
GetAudioPathConfig | Возвращает конфигурацию аудио-пути. |
GetDefaultResolution | Возвращает разрешение времени для сегмента. |
GetGraph | Возвращает инструментальный граф. |
GetLength | Возвращает длину сегмента. |
GetLoopPoints | Возвращает точки начала и конца цикла. |
GetParam | Возвращает параметры дорожки. |
GetRepeats | Возвращает количество цикличских повторений сегмента. |
GetStartPoint | Возвращает начальную точку. |
GetTrack | Возвращает дорожку, соответствующую заданным условиям поиска. |
GetTrackGroup | Возвращает группу битов дорожки. |
InitPlay | Инициализирует состояние воспроизведения. |
InsertTrack | Вставляет дорожку. |
RemoveNotificationType | Удаляет тип события. |
RemoveTrack | Удаляет дорожку. |
SetDefaultResolution | Устанавливает разрешение по умолчанию. |
SetGraph | Устанавливает инструментальный граф. |
SetLength | Устанавливает длину. |
SetLoopPoints | Устанавливает начальную и конечную точки цикла. |
SetParam | Устанавливает параметры дорожки. |
SetPChannelsUsed | Устанавливает используемый канал исполнителя. |
SetRepeats | Устанавливает количество циклических повторов сегмента. |
SetStartPoint | Устанавливает начальную точку. |
SetTrackConfig | Конфигурирует дорожку. |
Unload | Удаляет данные из объекта исполнителя. |
Как видно из таблицы 7.3, интерфейс сегмента предоставляет много полезных функций. Функциональные возможности DirectMusic позволяют вам управлять практически каждым параметром сегмента. Вся красота в том, что вы можете использовать столько функциональных возможностей, сколько пожелаете. Перейдем к демонстрации!