Changes

Jump to: navigation, search

WebPlugin

16,952 bytes added, 13:04, 28 July 2015
Примеры
==Атрибуты тега embed==
Чтобы встроить плагин в веб-страничку, используйте следующий шаблон <embed>:
<tt><embed type="application/x-acestream-plugin" />
<object classid="clsid:79690976-ED6E-403c-BBBA-F8928B5EDE17"></object></tt>
===Обязательные элементы===
*'''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):
<tt><!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></tt>
 
Вставка плагина в веб-страничку (Internet Explorer):
<tt><!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></tt>
 
Загрузите плейлист из торрента или с помощью content id:
<tt><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></tt>

Navigation menu