Видеокоманды

MMB поддерживает воспроизведение видео и его основными особенностями являются:
  • Воспроизведение следующих форматов:
    AVI, QT, MOV, MPG, MPEG, M1V, ASX, ASF, WMV
  • Позиционирование видео
  • Настройка скорости воспроизведения и размера видео


VideoLoad("ИмяОбъекта","Путь")
Пояснение
Открывает видеофайл (создает статическое изображение), имя которого указано в качестве параметра команды.

Чтобы задать имя видеообъекта используйте первый параметр, например:

VideoBox

Второй параметр задает загружаемый файл и должен содержать либо

а) путь к файлу + имя видеофайла, либо
б) макропуть + имя видеофайла
Примеры
** Воспроизведение файла Intro.avi из папки C:\My Project в видеообъекте "VideoBox"
VideoLoad("VideoBox","C:\My Project\Intro.avi")

** Воспроизведение файла Intro.avi с использованием макропути в видеообъекте "VideoBox"
VideoLoad("VideoBox","<SrcDir>\Intro.avi")
Дополнительная информация
Для получения информации об открытом видеофайле используйте Константы CBK.

Если имя файла не будет указано в качестве параметра команды, то MMB откроет диалоговое окно выбора файла.

Если команде не удается создать статическое изображение для загруженного видеофайла, то попробуйте изменить глубину цвета в свойствах дисплея.

С помощью команды VideoLoad вы можете загружать не только видеофайлы, но и файлы некоторых аудиоформатов. Для ознакомления с подробным списком поддерживаемых аудиоформатов смотрите эту страницу.



VideoClose("ИмяОбъекта")
Пояснение
Закрывает видео (выгружает из памяти) и скрывает видеообъект (скрывает статическое изображение). Другими словами, выполняет те же функции, что и опция "Выгрузить и скрыть" ("Close & Hide") в свойствах видеообъекта.

В качестве параметра указывается имя видеообъекта, например:

VideoBox
Пример
** Выгружает видео и скрывает статическое изображение
VideoClose("VideoBox")



VideoPlay("ИмяОбъекта")
Пояснение
Воспроизводит видеофайл в видеообъекте, имя которого указано в качестве параметра.

Если объект называется:

VideoWindow

...то команда будет выглядеть следующим образом:

VideoPlay("VideoWindow")
Пример
** Воспроизведение видеофайла в объекте "VideoWindow"
VideoPlay("VideoWindow")
Дополнительная информация
Для получения информации об открытом видеофайле используйте Константы CBK.

Перед воспроизведением видеофайл должен быть загружен с помощью команды VideoLoad.



VideoPause("ИмяОбъекта")
Пояснение
Пауза или продолжение воспроизведения.

Если воспроизведение было приостановлено/прервано, то с помощью этой команды оно будет продолжено. В противоположном случае оно будет приостановлено.

Это полезно при создании кнопки, одновременно выполняющей функцию воспроизведения и паузы.

Имя объекта, в котором требуется приостановить воспроизведение, указывается в качестве параметра. Если объект называется:

VideoWindow

...то команда будет выглядеть следующим образом:

VideoPause("VideoWindow")
Пример
** Приостанавливает/продолжает воспроизведение видео в объекте "VideoWindow"
VideoPause("VideoWindow")



VideoStop("ИмяОбъекта")
Пояснение
Останавливает видео в видеообъекте, имя которого указано в качестве параметра.

Если объект называется:

VideoBox

...то команда будет выглядеть следующим образом:

VideoStop("VideoBox")
Пример
** Останавливает видео в объекте "VideoBox"
VideoStop("VideoBox")



VideoRewind("ИмяОбъекта","Параметры")
Пояснение
Прокручивает видео, открытое и воспроизводимое с помощью команд VideoLoad и VideoPlay, до заданной позиции.

Формат позиции зависит от параметров команды VideoParam, таким образом, позиционирование может выполняться как в миллисекундах, так и по кадрам.

Чтобы задать имя видеообъекта используйте первый параметр, например:

VideoBox

Второй параметр задает позицию в кадрах или миллисекундах:

3214

Чтобы задать относительную позицию, используйте параметр:

RELATIVE

...в качестве третьего параметра команды. В этом случае второй параметр задает относительную прокрутку, например, прокрутка на 120 кадров вперед представляется положительным числом:

120

...а прокрутка на 120 кадров назад отрицательным:

-120

Обратите внимание, что третий параметр в этой команде отделяется не кавычками, а запятой, поэтому приведем полный вид команды:

VideoRewind("VideoBox","-120,RELATIVE")

Прокрутка поддерживается не всеми видеоформатами.
Примеры
** Устанавливает видео в объекте "VideoBox" на 25-ую секунду
** (Видео должно быть в режиме TIME)
VideoRewind("VideoBox","25000")

** Устанавливает видео в объекте "VideoBox" на 7328-ой кадр
** (Видео должно быть в режиме FRAME)
VideoRewind("VideoBox","7328")

** Прокручивает видео в объекте "VideoBox" на 5 секунд вперед
** (Видео должно быть в режиме TIME)
VideoRewind("VideoBox","5000,RELATIVE")

** Прокручивает видео в объекте "VideoBox" на 180 кадров назад
** (Видео должно быть в режиме FRAME)
VideoRewind("VideoBox","-180,RELATIVE")
Дополнительная информация
Для создания полосы прокрутки видео изучите Матрицы изображений.



VideoScale("ИмяОбъекта","Ширина,Высота")
Пояснение
Задает размеры видеообъекта.

Чтобы задать имя видеообъекта используйте первый параметр, например:

VideoBox

Второй параметр задает ширину объекта:

640

Третий параметр задает высоту объекта:

480


Обратите внимание, что третий параметр в этой команде отделяется не кавычками, а запятой, поэтому приведем полный вид команды:

VideoScale("VideoBox","640,480")
Пример
** Задает для объекта "VideoBox" ширину 320 и высоту 240 пикселей
VideoScale("VideoBox","320,240")



VideoParam("ИмяОбъекта","Параметры")
Пояснение
Задает дополнительные параметры для видеообъекта.

Чтобы задать имя видеообъекта используйте первый параметр, например:

VideoBox

Второй параметр задает следующие свойства объекта:

FULLSCREEN - использует ключ ON/OFF для полноэкранного режима видео:
  • FULLSCREEN=ON : полноэкранный режим включен
  • FULLSCREEN=OFF : полноэкранный режим выключен
LOOP - использует ключ ON/OFF для циклического воспроизведения видео:
  • LOOP=ON : режим циклического воспроизведения включен
  • LOOP=OFF : режим циклического воспроизведения выключен
MUTE - использует ключ ON/OFF для отключения звука:
  • MUTE=ON : звук выключен
  • MUTE=OFF : звук включен
Также можно задать режим видео:
  • TIME : видео в режиме TIME
  • FRAME : видео в режиме FRAME
Примеры
** Включает полноэкранный режим для объекта "VideoBox"
VideoParam("VideoBox","FULLSCREEN=ON")

** Включает режим повторного воспроизведения для объекта "VideoBox"
VideoParam("VideoBox","LOOP=ON")

** Отключает звук в видеообъекте "VideoBox"
VideoParam("VideoBox","MUTE=ON")

** Включает режим FRAME в объекте "VideoBox"
VideoParam("VideoBox","FRAME")
Дополнительная информация
Константа CBK_VTime возвращает текущее время только в том случае, если видео находится в режиме TIME, и CBK_VFrame возвращает текущий кадр, если видео в режиме FRAME. Использовать режимы TIME и FRAME одновременно невозможно!

По умолчанию видео находится в режиме TIME.

Если константа CBK_VTotalFrames после загрузки видео возвращает 0, то это значит, что видео не поддерживает покадровое позиционирование, поэтому вы не сможете использовать команды Video Skip FW/BW (диалоговое окно "Взаимодействие с другими объектами и видео") или команду VideoRewind, если VideoParam находится в режиме FRAME.

MMB Программирование без границ :: dgilmour, перевод на русский язык, 2006 :: Все права защищены :: www.mmbscript.ru