Changes

Jump to: navigation, search

WebPlugin

16,883 bytes added, 13:13, 24 December 2012
no edit summary
На ==Атрибуты тега 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.playlistLoadPlayerAsync("5953213c22c304b4f2aab0029a0915fbadca3f8a"); </script></tt>

Navigation menu