(Примечание: эта статья основана на объяснении MSDN от июля 2000 г.)
MCI Command String — программный интерфейс для мультимедийных устройств. С его помощью мы можем открыть мультимедийный файл, например mp3, файл VCD, файл формата Mpeg4 и т. д., и выполнить с ним такие операции, как воспроизведение, приостановка, закрытие и т. д. Теперь я имею честь представить вам, как использовать командную строку MCI. Командная строка MCI выполняется с помощью двух функций mciExecute или mciSendString.
Объявления этих двух функций следующие:
Частная функция объявления mciExecute Lib winmm.dll Псевдоним mciExecute (ByVal lpstrCommand As String) As Long Обе длинные функции имеют параметр lpstrCommand. Этот параметр представляет собой командную строку MCI, которую мы собираемся представить сегодня.
Функция mciSendString также имеет три параметра. lpstrReturnString — это строка, которая используется для получения информации, возвращаемой функцией mciSendString (например, наша команда в lpstrCommand позволяет функции возвращать тип устройства открытого файла, а затем функцию). возвращает тип устройства. Информация хранится в этом параметре); параметр uReturnLength используется для указания длины параметра lpstrReturnString; hwndCallback — это дескриптор окна, который получает сообщения ожидания и уведомления. Этот параметр может быть установлен в 0 при вызове в Basic. Если во время выполнения команды ming возникает ошибка, функция mciExecute непосредственно откроет диалоговое окно, чтобы указать причину ошибки. Функция mciSendString вернет ErrorCode (код ошибки). Конкретное значение этого кода можно найти в каталоге Platform SDKGraphics and Multimedia ServicesWindows MultimediaMultimedia ReferenceMultimedia ConstantsMCIERR Return Values в MSDN. Вы можете выбрать, какую функцию использовать для выполнения команды MCIming в зависимости от конкретной ситуации. Например, используйте mciExecute при отладке, чтобы быстро выяснить причину ошибки, и используйте функцию mciSendString в программе, которая будет выпущена, чтобы позволить ловушке ошибок, установленной в программе, обрабатывать ошибку, чтобы избежать частых сообщений об ошибках, которые раздражают пользователей. Ознакомившись с этими двумя функциями, мы можем перейти к сути — D?DMCI Command String.
Формат командной строки MCI следующий: lpszCommandlpszDevicelpszCommandFlaglpazFlaglpszCommand — это команда mciming, такая как открытие, воспроизведение, остановка, закрытие и т. д. lpszDevice — имя устройства (или имя файла). Например, мы используем следующую программу, чтобы открыть файл Music01.dat в «Моих документах», и используем параметр alias, чтобы установить его псевдоним OpenFile: dim lReturn as long
(1)lReturn=mciExecute(открыть C:Mydocu~1Music01.dat псевдоним OpenFile типа MPEGVideo)
(2) Затем параметр lpszDevice должен быть указан как OpenFile в будущей командной строке MCI. Например, код закрытия файла выглядит следующим образом: lReturn=mciExecute(close OpenFile)
(3) Если мы не устанавливаем псевдоним для открытого файла, параметр lpszDevice в командной строке MCI, вызываемой позже, представляет собой путь DOS плюс имя файла. Пример следующий: dim lReturn as long
(4)lReturn=mciExecute(откройте C:Mydocu~1Music01.dat типа MPEGVideo)
(5)lReturn=mciExecute(закрыть C:Mydocu~1Music01.dat типа MPEGVideo)
(6) Отсюда видно, что преимущество установки псевдонимов заключается в сокращении ввода кода.
LpszCommandFlag — это параметр команды mciming.
Как показано в приведенном выше коде (2), псевдоним OpenFile и тип MPEGVideo являются параметрами команды открытия.
Обычно параметры команды mciming варьируются от нескольких до десятков. LpazFlag может быть указан как ожидание или уведомление. Если это ожидание, то после выполнения команды mciming сообщение MCI_WAIT будет отправлено в родительскую форму, а notity отправит сообщение MCI_NOTIFY.
Этот параметр малопригоден в Visual Basic. Позвольте мне заявить, что существует десять типов мультимедийных устройств, поддерживаемых Microsoft: cdaudio, dat, digitalvideo, другое, оверлей, сканер, секвенсор, видеомагнитофон, видеодиск и waveaudio (Примечание: Microsoft не поддерживает файлы формата RealPlay. Вы можете использовать следующий код получает тип открытого файла: lReturn=mciSendString(capability lpszDevice тип устройства,sReturn,32,0) ). Что касается того, какой тип устройства поддерживает какие параметры, вы можете выполнить поиск по ключевому слову «Командные строки MCI» в MSDN и выбрать указанную команду. В справочном документе HTML обычно есть таблица, в которой указано, какие устройства поддерживают какие параметры, или в разделе «Есть информация». в первом абзаце рассказывается, какие устройства поддерживают эту команду.
Хорошо, теперь давайте систематически познакомимся со сложными, убийственными и мощными параметрами команды mciming. (В этой статье представлены только общие параметры команды открытия. Когда у меня будет возможность, я познакомлю вас с параметрами других команд ming.) open: Эта команда ming используется для открытия мультимедийного файла. Все устройства поддерживают эту команду ming. Перед выполнением любой команды mciming необходимо открыть мультимедийный файл для инициализации устройства.