JavaScript API для плагина VLC

   Описываемый в этой статье API работает  для всех браузеров, поддерживающих VLC  версии 0.8.6 и выше. Сам API представляет собой набор объектов, предоставляющих  доступ к настройкам плагина и выводимому видео или аудио.

  Список объектов:

  • audio: управление настройками аудио
  • input: управление настройками проигрываемого файла или  потока
  • playlist: управление настройками плейлиста
  • video: управление настройками видео
  • log: управление логом
  • messages: управление сообщениями в логе
  • iterator: управление итератором лога

Для подключения к странице VLC-плагина используется тэг с параметрами type и version, которые указывают тип загружаемого приложения и его  версию, как показано в следующем примере. Этот способ подключения объектов к  странице используется для браузера Mozilla.


Если не указать параметр version со значением "VideoLAN.VLCPlugin.2", то описываемый API работать не будет. Для Internet Explorer используется тэг object и тэг param для установки параметров.



Для воспроизведения локальных файлов используется параметр src с указанием имени файла и пути к этому файлу, например src=”movie.mpeg”. Для воспроизведения потокового видео или аудио используется параметр target с указанием IP-адреса или URL, протокола и порта, например target=”http://192.144.50.12:5000”. Доступ к подключенному элементу осуществляется через его id.

Объект Root

Свойства (только чтение)

  • VersionInfo:  возвращает информацию о версии плагина

Свойства (чтение/запись)

  • Нет

Методы

  • vlc.versionInfo(): возвращает информацию о версии плагина (тоже самое, что и VersionInfo)

Объект Audio

Свойства (только чтение)

  • Нет

Свойства (чтение/запись)

  • vlc.audio.mute: вкл/выкл звука (boolean)
  • vlc.audio.volume: переменная в интервале значений [0-200], определяющая уровень громкости
  • vlc.audio.track: (поддерживается версией VLC > 0.8.6) переменная в интервале значений [1-65535], определяющая проигрываемый аудио трек
  • vlc.audio.channel: (поддерживается версией VLC > 0.8.6) переменная в интервале значений [1-5], определяющая используемый аудио режим "1=stereo", "2=reverse stereo", "3=left", "4=right", "5=dolby"

Методы
  • vlc.audio.toggleMute(): вкл/выкл звука (boolean)

Объект Input

Свойства (только чтение)

  • vlc.input.length: длительность воспроизводимого файла в миллисекундах. значение 0 возвращается для потока, длительность которого VLC определить не может
  • vlc.input.fps: количество кадров в секунду (float)
  • vlc.input.hasVout: переменная типа boolean, которая принимает значение true, если видео воспроизводится и false в противном случае

Свойства (чтение/запись)

  • vlc.input.position: переменная типа float, принимающая значения в интервале [0.0-1.0], определяющая позицию в воспроизведении
  • vlc.input.time: переменная, определяющая позицию воспроизведения во времени в миллисекундах
  • vlc.input.state: переменная, определяющая в каком состоянии находится поток (IDLE/CLOSE=0, OPENING=1, BUFFERING=2, PLAYING=3, PAUSED=4, STOPPING=5, ENDED=6, ERROR=7)
  • vlc.input.rate: переменная типа float, определяющая скорость воспроизведения (1.0 - обычная скорость воспроизведения, 0.5 – скорость, равная половине обычной скорости воспроизведения,  2.0 – двойная скорость воспроизведения)

Методы

  • Нет

Объект Playlist

Свойства (только чтение)

  • vlc.playlist.itemCount: количество элементов в плейлисте (не рекомендуется к использованию. см. коллекция элементов плейлиста)
  • vlc.playlist.isPlaying: переменная типа boolean, возвращающая true, если элемент плейлиста проигрывается и false  - в противном случае
  • vlc.playlist.items: возвращает коллекцию элементов плейлиста (см. коллекция элементов плейлиста)

Свойства (чтение/запись)

  • Нет

Методы

  • vlc.playlist.add(mrl): добавляет элемент в плейлист как MRL (media resource locator – символьная строка,  используемая для определения мультимедиа источника). возвращает идентификатор элемента в плейлисте (обычно не совпадает с номером позиции этого элемента в плейлисте)
  • vlc.playlist.add(mrl,name,options): добавляет элемент в плейлист как MRL с метаименем “name” и опциями “options”. опции можно представить в виде одной строки, содержащей команды командной строки VLC с пробелами в качестве разделителей, либо в виде массива текстовых значений. возвращает идентификатор элемента в плейлисте (обычно не совпадает с номером позиции этого элемента в плейлисте)
  • vlc.playlist.play(): воспроизводит текущий элемент плейлиста
  • vlc.playlist.playItem(number): воспроизводит элемент плейлиста с идентификатором number
  • vlc.playlist.togglePause(): ставит на паузу воспроизведение текущего элемента плейлиста
  • vlc.playlist.stop(): останавливает воспроизведение текущего элемента плейлиста
  • vlc.playlist.next(): осуществляет переход к следующему элементу плейлиста
  • vlc.playlist.prev(): осуществляет переход к предыдущему элементу плейлиста
  • vlc.playlist.clear(): очищает плейлист (не рекомендуется к использованию
  • vlc.playlist.removeItem(number): удаляет из плейлиста элемент с идентификатором number (не рекомендуется к использованию. см. коллекция элементов плейлиста)
Коллекция элементов плейлиста

Свойства (только чтение)

  • vlc.playlist.items.count: количество элементов в плейлисте

Свойства (чтение/запись)

  • Нет

Методы

  • vlc.playlist.items.clear(): очищает плейлист (настоятельно рекомендуется к применению)
  • vlc.playlist.items.remove(number): удаляет из плейлиста элемент с идентификатором number

Объект Video

Свойства (только чтение)

  • vlc.video.width: возвращает ширину видео
  • vlc.video.height: возвращает высоту видео

Свойства (чтение/запись)

  • vlc.video.fullscreen: переменная типа boolean. при значении true видео воспроизводится в полноэкранном режиме
  • vlc.video.aspectRatio: возвращает и устанавливает соотношение вертикального и горизонтального размеров видео в виде текстовой строки. обычно используемы значения: "1:1", "4:3", "16:9", "16:10", "221:100", "5:4"
  • vlc.video.subtitle: (поддерживается версией VLC > 0.8.6a) возвращает и устанавливает субтитры. переменная типа integer, принимающая значения в интервале [1-65535]. если значение переменной установлено равным 0, то субтитры будут отключены.  в случае ошибки возвращается -1
  • vlc.video.teletext: (поддерживается версией VLC > 0.9.0) возвращает и устанавливает страницу телетекста, для отображения в видео потоке. переменная типа integer, принимающая значения в интервале [1-999]. значение 0 скрывает телетекст. значение -1 возникает при ошибке

Методы

  • vlc.video.toggleFullscreen(): переход в полноэкранный режим воспроизведения
  • vlc.video.toggleTeletext(): скрывает телетекст или делает его видимым

Объект Log

Этот объект дает доступ к очереди сообщений VLC (логу). Длина очереди очень небольшая (256 вхождений) и она может быстро переполниться, поэтому очередь необходимо чистить настолько часто, насколько это возможно.
Свойства (только чтение)

  • vlc.log.messages: возвращает коллекцию сообщений (см. объект Messages)

Свойства (чтение/запись)

  • vlc.log.verbosity: переменная, принимающая значения [-1, 0, 1, 2, 3]. определяет тип сообщений, входящих в очередь. в очередь будут входить сообщения, чей тип выше установленного: -1 disable, 0 info, 1 error, 2 warning, 3 debug

Методы

  • Нет
Объект Messages

Свойства (только чтение)

  • messages.count: возвращает количество сообщений в логе

Свойства (чтение/запись)

  • Нет

Методы

  • messages.clear(): отчищает буфер лога
  • messages.iterator(): создает и возвращает объект-итератор, используемый для перемещения по сообщениям в логе

Объект Iterator

Свойства (только чтение)

  • iterator.hasNext: переменная типа boolean, которая показывает возвратит ли следующее сообщение метод vlc.log.messages.next()

Свойства (чтение/запись)

  • Нет

Методы

  • iterator.next(): возвращает следующий объект Message из лога (см. объект Message)

Объект Message

  • message.severity: числовое значение, определяющее тип сообщений в логе(0 = info, 1 = error, 2 = warning, 3 = debug)
  • message.name: название модуля VLC, пославшего сообщение (main, http, directx и т.д.)
  • message.type: тип модуля VLC, пославшего сообщение (input, access, vout, sout и т.д.)
  • message.message: текст сообщения

В данной статье использован материал документации Play HowTo/Advanced Use of VLC

Автор Лебедев Денис Владимирович

Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript


d'Evelopment studio Услуги изготовления и технической поддержки сайтов

Rambler's Top100

© Все права защищены.
Копирование и использование текстов только с разрешения авторов
The Power of the Vision control