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 Услуги изготовления и технической поддержки сайтов
