Управление устройствами (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 переменные указывают диапазон выборок.