MCI 函式宏和訊息

[與此頁面 MCI相關聯的功能是舊版功能。 它已被 MediaPlayer 取代MediaPlayer已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer 而非 MCI。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

大部分的 MCI 應用程式會使用 mciSendStringmciSendCommand 函式數十次。 MCI 提供一些其他實用的函式,讓應用程式使用頻率較低。

大部分 MCI 命令所需的裝置識別碼通常會在 呼叫開啟 (MCI_OPEN) 命令中擷取。 如果您需要裝置識別碼,但不想開啟裝置,例如,如果您想要在採取任何其他動作之前查詢裝置的功能,您可以呼叫 mciGetDeviceID 函式。

mciGetCreatorTask函式可讓您的應用程式使用裝置識別碼來擷取建立該識別碼之工作的控制碼。

您可以使用 mciGetYieldProcmciSetYieldProc 函式來指派和擷取與 「wait」 (MCI_WAIT) 旗標相關聯的回呼函式位址。

mciGetErrorString函式會擷取描述 MCI 錯誤值的字串。 MCI 傳回的每個字串,無論是資料或錯誤描述,最多為 128 個字元。 小於 128 個字元的對話方塊欄位會截斷 MCI 傳回的較長字串。 如需這些字串的詳細資訊,請參閱 MCIERR 傳回值

MCI 宏是可用來建立和反組譯值的工具,可指定時間格式。 這些時間格式用於許多 MCI 命令。 宏所處理的格式為小時/分鐘/秒, (HMS) 、msF) 的分鐘/秒/ (畫面格,以及 TMSF) (追蹤/分鐘/秒/畫面格。 下表列出宏及其描述。

巨集 描述
MCI_HMS_HOUR 從 HMS 值擷取小時元件。
MCI_HMS_MINUTE 從 HMS 值擷取分鐘陣列件。
MCI_HMS_SECOND 從 HMS 值擷取秒陣列件。
MCI_MAKE_HMS 建立 HMS 值。
MCI_MAKE_MSF 建立 MSF 值。
MCI_MAKE_TMSF 建立 TMSF 值。
MCI_MSF_FRAME 從 MSF 值擷取框架元件。
MCI_MSF_MINUTE 從 MSF 值擷取分鐘陣列件。
MCI_MSF_SECOND 從 MSF 值擷取秒陣列件。
MCI_TMSF_FRAME 從 TMSF 值擷取框架元件。
MCI_TMSF_MINUTE 從 TMSF 值擷取分鐘陣列件。
MCI_TMSF_SECOND 從 TMSF 值擷取秒陣列件。
MCI_TMSF_TRACK 從 TMSF 值擷取追蹤元件。

 

MCI 也提供兩則訊息: MM_MCINOTIFYMM_MCISIGNAL。 每當該命令指定 「notify」 (MCI_NOTIFY) 旗標時,MM_MCINOTIFY訊息會通知 MCI 命令的結果。 MM_MCISIGNAL訊息專屬於數位視訊裝置;當到達指定的位置時,它會通知應用程式。