Поделиться через


Управление устройствами (Windows Multimedia)

[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует по возможности использовать MediaPlayer вместо MCI. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Чтобы управлять устройством MCI, откройте его, отправьте ему необходимые команды, а затем закройте устройство. Команды могут быть очень похожими даже для совершенно разных устройств MCI. Например, следующая серия команд MCI воспроизводит шестую дорожку звукового компакт-диска с помощью функции mciSendString :

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 примеров файла waveform-audio:

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 и waveform-audio. Одни и те же команды MCI используются для всех устройств MCI.
  • Команда open для устройства waveform-audio включает спецификацию имени файла. Устройство waveform-audio — это составное устройство (связанное с файлом данных), а звуковое устройство компакт-диска — простое устройство (без связанного файла данных).
  • Команда set задает форматы времени в каждом случае, но флаг формата времени для звукового устройства CD указывает формат треков/минут/секунд/кадров (TMSF), а формат времени, используемый с устройством waveform-audio, указывает "примеры".
  • Переменные, используемые с флагами from и to, соответствуют соответствующему формату времени. Например, для звукового устройства CD переменные указывают диапазон дорожек, а для устройства waveform-audio переменные указывают диапазон выборок.