Мультимедиа для Windows© Александр Фролов, Григорий ФроловТом 15, М.: Диалог-МИФИ, 1994, 284 стр. 3.1. Интерфейс управляющих строк MCIДля передачи управляющей строки устройству чтения CD ROM вы должны использовать функцию mciSendString . Вам могут потребоваться и другие функции, описанные во второй главе и предназначенные для работы с интерфейсом MCI. Открытие и закрытие устройства CD ROMПеред началом работы с устройством вы должны его открыть, передав управляющую строку open . При этом вы должны указать имя устройства как cdaudio (можно использовать алиас): open cdaudio alias cd wait Так как операция открытия устройства чтения CD ROM может выполняться в течении нескольких секунд, имеет смысл перед продолжением работы приложения дождаться ее завершения, указав параметр wait. При открытии драйвера CD ROM можно указать параметр shareable , в этом случае устройством смогут пользоваться одновременно несколько приложений (если они все откроют устройство с параметром shareable). Драйвер устройства CD ROM не работает с файлами, поэтому в управляющей строке open путь к файлу не указывается. Команда close особенностей не имеет. В качестве параметра вы должны указать имя устройства cdaudio или алиас (альтернативное имя), если устройство было открыто с использованием алиаса: close cd Справочные командыКоманда sysinfo не имеет особенностей. В качестве имени устройства для этой команды следует указывать строку cdaudio, даже если при открытии был использован алиас. Для команды info можно указывать только параметр product. С помощью команды capability с параметром can eject вы можете узнать, имеет ли устройство CD ROM возможность автоматического извлечения компакт-дисков. Вы можете также использовать и другие параметры: can play, can record, can save, compound device, device type, has audio, has video, uses files. Для определения текущего состояния CD ROM следует использовать команду status . Вы можете указать следующие параметры: current track Номер текущей дорожки length Общая длина length track track_number Длина заданной дорожки media present Если в устройство вставлен компакт-диск, возвращается строка true mode Текущий режим работы: not ready (не готов), playing (проигрывание), stopped (останов), recording (запись), seeking (позиционирование) number of tracks Количество дорожек position Текущая позиция position track track_number Текущая позиция на заданной дорожке ready Если устройство готово, возвращается строка true start position Начальная позиция time format Текущий формат времени Команды установки режима работыКоманда break не имеет никаких особенностей. Она позволяет определить код виртуальной клавиши, предназначенной для прерывания процесса выполнения команды. По умолчанию используется комбинация клавиш <Control+Break>. Для команды set можно указывать следующие параметры: audio all off Отключение звукового выхода audio all on Включение звукового выхода audio left off Отключение левого канала audio left on Включение левого канала audio right off Отключение правого канала audio right on Включение правого канала door closed Загрузка компакт-диска и фиксирование его в устройстве. Этот параметр может поддерживаться не всеми устройствами (так же, как и параметр door open) door open Извлечение компакт-диска time format milliseconds В качестве единицы измерения при позиционировании используются миллисекунды. Строку milliseconds можно также указывать как ms time format msf В качестве единицы измерения при позиционировании используются минуты, секунды и фреймы. В качестве разделителя минут секунд и фреймов используется двоеточие. Этот формат используется по умолчанию time format tmsf В качестве единицы измерения при позиционировании используются дорожки, минуты, секунды и фреймы Команды для воспроизведения, записи и позиционированияС помощью команд этой группы можно выполнять проигрывание дорожек звукового компакт-диска, временный или полный останов, позиционирование и т. д. playКоманда play предназначена для запуска проигрывания. Она имеет следующий формат: play device_id [from position [to position]] [notify] [wait] Если не указан параметр from position, проигрывание начинается с текущей позиции. Сразу после открытия текущая позиция устанавливается в начало первой дорожки компакт-диска. Параметр to position позволяет указать конечную позицию, при достижении которого проигрывание прекращается. Перед использованием параметров from и to необходимо установить формат для позиционирования при помощи команды set. В качестве примера приведем последовательность команд, с помощью которой выполняется проигрывание 11-ой дорожки звукового компакт-диска: open cdaudio alias cd wait set cd time format tmsf wait play cd from 11 to 12 wait close cd Вы можете попробовать эту последовательность команд с помощью приложения MCITEST из Microsoft SDK for Windows 3.1. Загрузочный модуль приложения MCITEST есть на дискете, которая продается вместе с книгой. Если вам нужно указать позицию внутри дорожки, используйте более полный формат времени с указанием минут и секунд. Например, следующая команда выполнит проигрывание фрагмента 11-ой дорожки, начало которого отстоит на 10 секунд от начала дорожки, а длительность составляет 5 секунд: play cd from 11:0:10 to 11:0:15 wait stopОстанов проигрывания stop device_id pauseВременный останов (пауза). Для устройства чтения CD ROM эта команда работает как команда полного останова stop, при этом команда продолжения работы после временного останова resume не поддерживается pause device_id seekПозиционирование с последующим остановом. Перед использованием этой команды необходимо задать формат времени командой set time format seek device_id parameter [notify] [wait] В качестве необязательного параметра parameter можно указывать одну из следующих строк: to position Позиционирование в заданное место компакт-диска to start Позиционирование в начало to end Позиционирование в конец |