Сегменты DirectMusic
Сегменты в 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 позволяют вам управлять практически каждым параметром сегмента. Вся красота в том, что вы можете использовать столько функциональных возможностей, сколько пожелаете. Перейдем к демонстрации!