Изменение синхронизации Sequencer

[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует по возможности использовать MediaPlayer вместо MCI. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Примечание

Связь без предубеждений Майкрософт поддерживает разнообразную и инклюзивную среду. В этом документе есть ссылки на слово "slave". Руководство майкрософт по стилю для Bias-Free Communications распознает это как исключаемое слово. Эта формулировка используется, так как в настоящее время это формулировка, используемая в программном обеспечении. Для согласованности этот документ содержит это слово. Когда это слово будет удалено из программного обеспечения, мы исправим этот документ, чтобы он был в выравнивании.

Чтобы изменить режим синхронизации устройства sequencer, используйте сообщение команды MCI_SET с флагами MCI_SEQ_SET_MASTER и MCI_SEQ_SET_SLAVE. Два элемента в структуре MCI_SEQ_SET_PARMS, dwMaster и dwSlave, используются для указания master и подчиненных режимов синхронизации.

Режим синхронизации master управляет сведениями о синхронизации, отправляемыми секвенсором на порт вывода. Ниже приведены константы для элемента dwMaster и соответствующие им master режимы синхронизации.

Константа Режим синхронизации
MCI_SEQ_MIDI Синхронизация MIDI. Отправка сведений о времени на порт вывода с помощью сообщений о синхронизации MIDI.
MCI_SEQ_SMPTE Синхронизация SMPTE. Отправка сведений о времени на выходной порт с помощью сообщений MIDI за квартал.
MCI_SEQ_NONE Без синхронизации. Нет сведений о времени.

 

Подчиненный режим синхронизации управляет тем, где секвенсор получает сведения о времени для воспроизведения MIDI-файла. Ниже приведены константы для члена dwSlave и соответствующие им подчиненные режимы синхронизации.

Константа Режим синхронизации
MCI_SEQ_FILE Синхронизация файлов. Получение сведений о времени из MIDI-файла.
MCI_SEQ_MIDI Синхронизация MIDI. Получение сведений о времени из порта ввода с помощью сообщений о синхронизации MIDI.
MCI_SEQ_SMPTE Синхронизация SMPTE. Получение сведений о времени из порта ввода с помощью сообщений MIDI за четверть кадра.
MCI_SEQ_NONE Без синхронизации. Получайте сведения о времени только из команд MCI и игнорируйте сведения о времени (например, изменения темпа), которые находятся в MIDI-файле.

 

Примечание

В настоящее время для синхронизации master секвенсор MCI MIDI поддерживает только режим без синхронизации (MCI_SEQ_NONE). Для подчиненной синхронизации поддерживается только режим синхронизации файлов (MCI_SEQ_FILE) и режим без синхронизации (MCI_SEQ_NONE).