播放 AVI 文件

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

在使用 mciSendCommand 函数发送 MCI_PLAY 命令之前,应用程序会为结构分配内存,初始化将使用的成员,并设置与结构中使用的成员对应的标志。 (如果应用程序未为结构成员设置标志,MCI 驱动程序将忽略该成员。例如,以下示例从 dwFrom 指定的起始位置播放电影,到 dwTo指定的结束位置。 (如果任一位置为零,则编写示例以便不使用位置。

DWORD PlayMovie(WORD wDevID, DWORD dwFrom, DWORD dwTo) 
{ 
    MCI_DGV_PLAY_PARMS mciPlay;    // play parameters 
    DWORD dwFlags = 0; 
 
    // Check dwFrom. If it is != 0 then set parameters and flags. 
    if (dwFrom){ 
        mciPlay.dwFrom = dwFrom; // set parameter 
        dwFlags |= MCI_FROM;     // set flag to validate member 
    } 
 
    // Check dwTo. If it is != 0 then set parameters and flags. 
    if (dwTo){ 
        mciPlay.dwTo = dwTo;    // set parameter 
        dwFlags |= MCI_TO;      // set flag to validate member 
    } 
 
    // Send the MCI_PLAY command and return the result. 
    return mciSendCommand(wDevID, MCI_PLAY, dwFlags, 
       (DWORD)(LPVOID)&mciPlay); 
}