Воспроизведение файла AVI

[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Оно было заменено MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer вместо MCIпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие 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); 
}