更改 Sequencer 同步

[与此页面关联的功能 MCI 是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer 而不是 MCI。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

注意

无偏差通信 Microsoft 支持多样化且包容的环境。 在本文档中,有对单词“slave”的引用。 Microsoft 的 《Bias-Free通信风格指南》 将此视为排除词。 使用此措辞,因为它当前是软件中使用的措辞。 为了保持一致性,本文档包含此单词。 从软件中删除此单词后,我们将更正此文档以保持一致。

若要更改 sequencer 设备的同步模式,请使用 带有 MCI_SEQ_SET_MASTER 和 MCI_SEQ_SET_SLAVE 标志的 MCI_SET 命令消息。 MCI_SEQ_SET_PARMS 结构中的两个成员 dwMasterdwSlave 用于指定主同步模式和从属同步模式。

主同步模式控制排序程序发送到输出端口的同步信息。 下面是 dwMaster 成员的常量及其相应的主同步模式。

常数 同步模式
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 文件中的节奏更改) 。

 

注意

目前,对于主同步,MCI MIDI 排序程序仅支持“无同步”模式 (MCI_SEQ_NONE) 。 对于从属同步,它仅支持 (MCI_SEQ_FILE) 的文件同步模式和 (MCI_SEQ_NONE) “不同步”模式。