裝置控制 (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)格式,而與電壓音訊裝置搭配使用的時間格式則指定「範例」。
- 與 「from」 和 「to」 旗標搭配使用的變數適用於個別的時間格式。 例如,針對CD音訊裝置,變數會指定曲目範圍,但針對超聲波音頻裝置,變數會指定樣本範圍。