WebPlugin
Contents
Атрибуты тега embed
Чтобы встроить плагин в веб-страничку, используйте следующий шаблон <embed>:
<embed type="application/x-acestream-plugin" /> <object classid="clsid:79690976-ED6E-403c-BBBA-F8928B5EDE17"></object>
Обязательные элементы
- width: Задает ширину плагина.
- height: Задает высоту плагина.
Необязательные элементы
- bgcolor (string): Задает цвет фона видеоплеера. По умолчанию: #000000
- fontcolor (string): Задает цвет шрифта. По умолчанию: #FFFFFF
- videobgcolor (string): Задает цвет фона видеоплеера при проигрывании видео. По умолчанию: #000000
- fscontrolsenable (bool): Указывает включена ли панель управление в полноэкранном режиме. По умолчанию: true
- nofscontrolsenable (bool): Указывает включена ли панель управления. По умолчанию: false
- loopable (bool): Указывает повторяется ли видео после окончания. По умолчанию: false
- fscontrols (string): Задает стиль панели управления в полноэкранном режиме. По умолчанию: default
- nofscontrols (string): Задает стиль панели управления. По умолчанию: default
- nofscontrolsheight (integer): Задает высоту панели управления в пикселях. По умолчанию: 36
Javascript API
Некоторое описание
Общие свойства только для чтения
- version (string): версия плагина
- auth (integer): уровень доступа пользователя
- info (string): информационная строка
- status (string): строка статуса
- error (string): строка ошибки
- state (integer): состояние движка (0 - бездействующий, 1 - пребуферизация, 2 - скачивание, 3 - буферизация, 4 - завершено, 5 - проверка скачивания, 6 - ошибка, 7 - плагин подключается к движку, 8 - производится загрузка плейлиста)
Плейлист
свойства только для чтения
- playlistCount (integer): количество пунктов в плейлисте
- playlistIsPlaying (bool): true, если данный пункт плейлиста проигрывается
- playlistCurrentItem (integer): индекс с нуля данного пункта плейлиста
методы
- void playlistAdd(string mrl, string name = ""): добавить пункт плейлиста как MRL
- void playlistPlay(int position = 0): начать проигрывание данного пункта плейлиста
- void playlistPlayItem(int index, intposition = 0, bool stop_current = true): начать проигрывание пункта с идентификатором "index"
- void playlistTogglePause(): переключать состояние паузы для данного пункта плейлиста
- void playlistStop(bool fullstop=false): остановить проигрывание данного пункта плейлиста. Если fullstop равен true, то плагин сообщает движку остановить загрузку данного пункта
- void playlistNext(): перейти к следующему пункту плейлиста
- void playlistPrev(): перейти к предыдущему пункту плейлиста
- void playlistClear(): очистить данный плейлист (все пункты будут удалены из плейлиста)
- void playlistRemoveItem(int index): удалить из плейлиста пункт с идентификатором "index"
- string playlistItemTitle(int index): получить название указанного пункта
- string playlistItemInfohash(int index): получить инфо-хеш указанного пункта
- int playlistItemState(int index): получить состояние указанного пункта (0 - отключен, 1 - включен)
- bool playlistItemIsSaveable(int index): проверить можно ли сохранить указанный пункт на диск
- void playlistItemSave(int index): сохранить указанный пункт на диск (будет показан диалог для выбора места, куда сохранить)
- void playlistSetItemState(int index, bool active): установить состояние пункта (включен/отключен)
- void playlistToggleItemState(int index): переключить состояние пункта
- void playlistMoveItem(int indexfrom, int indexto): передвинуть пункт на другую позицию плейлиста
- void playlistSelectAll(): включить все пункты плейлиста
- void playlistSelectNone(): отключить все пункты плейлиста
- эти методы используются для загрузки плейлиста из указанного источника:
- string playlistLoad(string torrentUrl, int developerId, int affiliateId, int zoneId): загрузить из торрента, указанного torrentUrl
- string playlistLoadInfohash(string infohash, int developerId, int affiliateId, int zoneId): загрузить через инфо-хеш
- string playlistLoadPlayer(string contentId): загрузить через content id (идентификатор контента)
- string playlistLoadRaw(string torrentData, int developerId, int affiliateId, int zoneId): загрузить из необработанных данных торрента (содержимое торрент-файла закодировано в base64)
- каждый метод возвращает строку, содержащую список пунктов в формате json
- параметры developerId, affiliateId и zoneId должны быть установлены на 0, если вы не знаете, что с ними делать
- эти методы такие же, как предыдущие, кроме того, что они выполняются асинхронно и возвращаются мгновенно:
- void playlistLoadAsync(string torrentUrl, int developerId, int affiliateId, int zoneId)
- void playlistLoadAsyncInfohash(string infohash, int developerId, int affiliateId, int zoneId)
- void playlistLoadAsyncPlayer(string contentId)
- void playlistLoadAsyncRaw(string torrentData, int developerId, int affiliateId, int zoneId)
- void playlistLoadUrl(string url, int developerId, int affiliateId, int zoneId, string name, bool clear_playlist = false): добавить url в плейлист. Этот url будет использоваться движком для извлечения контента. Параметр name используется, чтобы задать название пункта в плейлисте. Если clear_playlist равен true, то плейлист будет очищен перед добавлением нового пункта
- string playlistGetPlayerId(string infohash, int developerId, int affiliateId, int zoneId): получить content id для заданных infohash, developer, affiliate и zone идентификаторов
Аудио
свойства только для чтения
- audioCount (integer): количества доступных аудио дорожек
свойства для чтение/писания
- audioMute (bool): логическое значение для отключения или включения звука
- audioVolume (interger): значение между 0 и 100, указывающее процент громкости
- audioTrack (integer): значение между 1 и plugin.audioCount, указывающее аудио дорожку для проигрывания или которая уже проигрывается. Значение равное 0 означает, что аудио отключено или будет отключено
- audioChannel (integer): целое значение между 1 и 5, указывающее, какой режим аудио канала используется, значение могут быть: "1=stereo", "2=reverse stereo", "3=left", "4=right", "5=dolby". Используйте plugin.audioChannel, чтобы проверить успешно ли прошла установка режима аудио канала
методы
- void audioToggleMute(): логическое переключение, которое отключает и включает звук аудио, основываясь на предыдущем состоянии
- string audioDescription(int i): дает имя аудио дорожке номер i. 0 соответствует отключению, а 1 - первой аудио дорожке
Входящие значения
свойства только для чтения
- inputLength (integer): длина входящего файла в миллисекундах. 0 возвращается для 'живых' потоков (live stream) или клипов, чью длину движок не может определить. Функция возвращает -1, если нет проигрываемых входящих файлов.
- inputState (integer): действующее состояние входной цепи, заданное перечислением (IDLE=0 (бездействие), OPENING=1 (открывается), BUFFERING=2 (буферизация), PLAYING=3 (проигрывается), PAUSED=4 (пауза), STOPPING=5 (остановка), ENDED=6 (завершено), ERROR=7 (ошибка)). Примечание: Протестируйте ENDED=6, чтобы словить окончание проигрывания. Проверки STOPPING=5 НЕ ДОСТАТОЧНО.
- inputFps (float): кадров в секунду, возвращает плавающее значение (обычно 60.0, 50.0, 23.976, и т.д..)
- inputHasVout (bool): boolean, который возвращает значение true, когда видео показывается, и значение false, когда видео не показывается
- inputIsAd (bool): true, если реклама сейчас воспроизводится
- inputIsInterruptableAd (bool): true, если прерываемая реклама сейчас воспроизводится
- inputIsP2P (bool): true, если данный пункт проигрывается с помощью P2P (не обычный файл/поток)
свойства для чтение/писания
- inputPosition (float): нормализованное положение пункта в мультимедиа потоке, заданное в плавающем значении между [0.0 - 1.0]
- inputTime (integer): абсолютное положение во времени, в миллисекундах; данное свойство может использоваться для поиска через поток
- inputRate (float): входящая скорость, заданная плавающим значением (1.0 для нормальной скорости, 0.5 для половины скорости, 2.0 для ускорения в два раза, и т.д.)
Субтитры
свойства только для чтения
- subtitleCount (integer): возвращает количество доступных субтитров
свойства для чтение/писания
- subtitleTrack (integer): получить и установить дорожку субтитров для показа на видео экране. Свойство принимает целое число, в качестве входящего значения [1..65535]. Если дорожка субтитров установлена на 0, субтитры будут отключены. Если установлено значение, превышающее количество действующих дорожек субтитров, будет возвращено значение -1 и показано сообщение об ошибке
методы
- string subtitleDescription(int i): задает имя субтитру номер i. 0 соответствует отключению, а 1 - первому субтитру
Видео
свойства только для чтения
- videoWidth (integer): возвращает горизонтальный размер видео
- videoHeight (integer): возвращает вертикальный размер видео
свойства для чтение/писания
- videoFullscreen (bool): когда установлено true, видео будет показываться в полноэкранном режиме; когда установлено false, видео будет показано внутри размера выходного видео
- videoAspectRatio (string): получить и установить соотношение сторон, чтобы использовать для видео экрана. Обычные значение: "1:1", "4:3", "16:9", "16:10", "221:100" и "5:4"
- videoCrop (string): получить и установить кадрирование, чтобы использовать для видео экрана. Обычные значение: "16:9", "16:10", "185:100", "239:100", "5:3", "4:3", "5:4", "1:1"
- deinterlaceStatus (string): возможные значения: "off", "auto", "on"
- deinterlaceMode (string): возможные значения: "discard", "blend", "mean", "bob", "linear", "x", "yadif", "yadif2x"
методы
- void videoToggleFullscreen(): переключать полноэкранный режим, основываясь на предыдущих настройках
Примеры
Вставка плагина в веб-страничку (для всех браузеров, кроме Internet Explorer):
<!DOCTYPE html> <html> <head> <title>Plugin Test</title> </head> <body> <embed id="plugin" type="application/x-acestream-plugin" width="800" height="600" fullscreencontrols="true" fscontrolsenable="true" fscontrols="default" nofscontrolsenable="true" nofscontrols="default" nofscontrolsheight="36" loopable="false" /> </body> </html>
Вставка плагина в веб-страничку (Internet Explorer):
<!DOCTYPE html> <html> <head> <title>Plugin Test</title> </head> <body> <object id="plugin" classid="clsid:79690976-ED6E-403c-BBBA-F8928B5EDE17"> <param name="width" value="800" /> <param name="height" value="600" /> <param name="fullscreencontrols" value="true" /> <param name="fscontrolsenable" value="true" /> <param name="fscontrols" value="default" /> <param name="nofscontrolsenable" value="true" /> <param name="nofscontrols" value="default" /> <param name="nofscontrolsheight" value="36" /> <param name="loopable" value="false" /> </object> </body> </html>
Загрузите плейлист из торрента или с помощью content id:
<script type="text/javascript"> var plugin = document.getElementById("plugin"); // загрузка из торрента plugin.playlistLoadAsync("http://static.torrentstream.org/torrents/sintel.torrent", 0, 0, 0); // загрузка с помощью content id plugin.playlistLoadAsyncPlayer("5953213c22c304b4f2aab0029a0915fbadca3f8a"); </script>