设备控制(Windows 多媒体)
[与此页关联的功能(MCI)是一项旧功能。 它已被 MediaPlayer取代。 MediaPlayer 已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayer 而不是 MCI。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
若要控制 MCI 设备,请打开设备,向其发送必要的命令,然后关闭设备。 这些命令可能非常相似,即使对于完全不同的 MCI 设备也是如此。 例如,以下一系列 MCI 命令使用 mciSendString 函数播放音频 CD 的第六条轨道:
mciSendString("open cdaudio", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("set cdaudio time format tmsf", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("play cdaudio from 6 to 7", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("close cdaudio", lpszReturnString,
lstrlen(lpszReturnString), NULL);
下一个示例演示了一系列类似的 MCI 命令,这些命令播放波形音频文件的前 10,000 个样本:
mciSendString(
"open c:\mmdata\purplefi.wav type waveaudio alias finch",
lpszReturnString, lstrlen(lpszReturnString), NULL);
mciSendString("set finch time format samples", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("play finch from 1 to 10000", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("close finch", lpszReturnString,
lstrlen(lpszReturnString), NULL);
这些示例说明了有关 MCI 命令的一些有趣事实:
- 相同的基本命令(打开,设置,播放和 关闭)与 CD 音频和波形音频设备一起使用。 相同的 MCI 命令用于所有 MCI 设备。
- 波形音频设备的 open 命令包括文件名规范。 波形音频设备是 复合设备(与数据文件关联的设备),而 CD 音频设备是 简单设备(一个没有关联的数据文件)。
- set 命令在每个情况下指定时间格式,但 CD 音频设备的时间格式标志指定曲目/分钟/秒/帧(TMSF)格式,而波形音频设备使用的时间格式指定“samples”。
- 与“from”和“to”标志一起使用的变量适用于相应的时间格式。 例如,对于 CD 音频设备,变量指定一系列曲目,但对于波形音频设备,变量指定一系列样本。