Инструменты пользователя

Инструменты сайта


tvipjsapi:2

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
tvipjsapi:2 [2014/11/13 10:06]
Alexander
tvipjsapi:2 [2017/09/20 15:41] (текущий)
Egor Danilenko [TVIP JavaScript API #2]
Строка 1: Строка 1:
-====== TVIP JavaScript API ======+====== TVIP JavaScript API #2 ======
  
 **Версия API #2**\\ **Версия API #2**\\
Строка 16: Строка 16:
  
 Объекты не требуют явного создания или какой-либо инициализации и доступны из любой Web-странцы,​ открытой в STB-браузере. Объекты не требуют явного создания или какой-либо инициализации и доступны из любой Web-странцы,​ открытой в STB-браузере.
 +
 +С кодами клавиш пульта вы можете ознакомиться [[:​remote_control_key_code|тут]].
 +
 +
 +==== Основные изменения:​ ====
 +
 +  * Поддержка работы с менеджером монтирования (добавление SMB и NFS шар).
 +  * Режим сна теперь управляется через JS API в режиме портала "​для всей системы"​.
 +  * Возможность переназначения всех системных команд пульта в режиме портала "​для всей системы"​.
 +  * Поддержка событий HDMI-CEC.
 +  * Поддержка событий перехода Веб-приложения в фоновый режим.
  
 ====== Описание методов объектов JS API ===== ====== Описание методов объектов JS API =====
  
 ===== TvipStb ===== ===== TvipStb =====
 +
 +====bool addMountPoint(int id, bool temp, int type, String name, Object options);​====
 +
 +Добавляет или заменяет точку монтирования с указанным //id// идентификатором.
 +Если //temp// равно //false//, точка монтирования будет сохранена после перезагрузки устройства,​ если //true// - точка будет удалена при перезагрузке или перезапуске приложения. Возможные типы точек монтирования (//type//): 1 - SMB, 2 - NFS. Имя точки в системе монтирования (например,​ в сплывающих сообщениях):​ //name//. Параметр //options// задает специфические опции в виде обьекта:​
 +
 +SMB:
 +<​code>​
 +{
 +  "​address":​ <​address>,​
 +  "​folder":​ <​folder>,​
 +  "​username":​ <​username>,​
 +  "​password":​ <​password>​
 +}
 +</​code>​
 +Здесь, //<​address>//​ - IP-адрес,​ доменное или NetBIOS-имя сервера,​ //<​folder>//​ - имя расшаренного ресурса на сервере,​ //<​username>//​ и //<​password>//​ - опциональные данные для авторизации на сервере.
 +
 +NFS:
 +<​code>​
 +{
 +  "​address":​ <​address>,​
 +  "​folder":​ <​folder>​
 +}
 +</​code>​
 +Здесь, //<​address>//​ - IP-адрес или доменное имя сервера,​ //<​folder>//​ - полный путь к расшаренному каталогу на сервере.
 +
 +\\ \\
  
 ====int getApiVersion();​==== ====int getApiVersion();​====
Строка 79: Строка 117:
  
 Возвращает строку,​ содержащую основной MAC-адрес приставки. Обычно это MAC-адрес Ethernet. Возвращает строку,​ содержащую основной MAC-адрес приставки. Обычно это MAC-адрес Ethernet.
 +
 +\\ \\
 +
 +====List getSmbWorkgroups();​====
 +
 +Производит поиск рабочих групп в сети и возвращает их список. ​
 +Например:​
 +<​code>​
 +['​WORKGOUP',​ '​MYGROUP'​]
 +</​code>​
 +
 +\\ \\
 +
 +====List getSmbServers(String group);====
 +
 +Производит поиск серверов в указанной параметром //group// рабочей группе и возвращает список NetBIOS имен серверов.
 +Например:​
 +<​code>​
 +['​MYPC',​ '​USER2'​]
 +</​code>​
 +
 +\\ \\
 +
 +====List getSmbServerShares(String server);​====
 +
 +Производит поиск доступных сетевых ресурсов на сервере по NetBIOS-адресу или IP-адресу,​ указанному параметром //server// и возвращает список имен ресурсов.
 +Например:​
 +<​code>​
 +['​shared folder',​ '​Загрузки'​]
 +</​code>​
  
 \\ \\ \\ \\
Строка 90: Строка 158:
    "​label":​ <​label>,​    "​label":​ <​label>,​
    "​path"​ : <​ospath>,​    "​path"​ : <​ospath>,​
-   "​fstype"​ : <​file_system>​+   "​fstype"​ : <​file_system>, 
 +   "​writable":​ <​writable>,​ 
 +   "​status":​ <​status>,​ 
 +   "​size":​ <​size>,​ 
 +   "​free"​ <free>
  },  },
  
Строка 96: Строка 168:
 </​code>​ </​code>​
  
-Поля объекта:​ //label// - имя (метка) смонтированного ресурса для отображения пользователю;​ //path// - каталог,​ в который смонтирован ресурс;​ //fstype// - тип файловой системы (варианты:​ //vfat//, //ntfs//, //ext2//, //ext3//, //nfs//, //cifs//.+Поля объекта:​ //label// - имя (метка) смонтированного ресурса для отображения пользователю;​ //path// - каталог,​ в который смонтирован ресурс;​ //fstype// - тип файловой системы (варианты:​ //vfat//, //ntfs//, //ext2//, //ext3//, //nfs//, //cifs//; //​writable//​ - разрешена ли запись в файловую систему ("​1"​ - да, "​0"​ - нет); //status// - статус точки монтирования ("​0"​ - требуется монтирование,​ "​1"​ - в процессе монтирования,​ "​2"​ - смонтировано успешно,​ "​3"​ - ошибка монтирования,​ "​4"​ - в процессе размонтирования,​ "​5"​ - размонтировано,​ "​6"​ - ошибка размонтирования),​ //size// - размер файловой системы,​ //free// - доступное место.
  
 \\ \\ \\ \\
Строка 122: Строка 194:
  
 Выводит отладочное сообщение в системную консоль (Linux) или logcat (Android). Выводит отладочное сообщение в системную консоль (Linux) или logcat (Android).
 +
 +\\ \\
 +
 +====void rebootSystem();​====
 +
 +Полностью перезагрузить систему.
 +
 +\\ \\
 +
 +
 +====void removeMountPoint(int id);====
 +
 +Удалить точку монтирования из менеджера точек монтирования. //id// - уникальный идентификатор точки монтирования.
  
 \\ \\ \\ \\
Строка 152: Строка 237:
 \\ \\ \\ \\
  
-===void ​setNoSystemKeys(bool enabled);​===+====void ​setPassKeyKeyboard(bool enabled);==== 
 + 
 +Если //​enabled//​=true,​ событие нажатия кнопки "​Включение клавиатуры"​ на пульте (Cursor key) будет передаваться в JavaScript, вместо стандартного обработчика отображения виртуальной клавиатуры. 
 + 
 + 
 +\\ \\ 
 + 
 +====void setPassKeyMenu(bool enabled);​==== 
 + 
 +Если //​enabled//​=true,​ событие нажатия кнопки "​Menu"​ на пульте будет передаваться в JavaScript, вместо вызова стандартного меню Tvip. 
 + 
 + 
 +\\ \\ 
 + 
 +====void setPassKeySysInfo(bool enabled);​==== 
 + 
 +Если //​enabled//​=true,​ событие нажатия кнопки "​S.INFO"​ на пульте будет передаваться в JavaScript, вместо вызова стандартной системной информации Tvip. 
 + 
 +\\ \\ 
 + 
 +====void setPassKeySettings(bool enabled);​==== 
 + 
 +Если //​enabled//​=true,​ событие нажатия кнопки "​Настройки"​ на пульте будет передаваться в JavaScript, вместо вызова стандартных настроек Tvip. 
 + 
 +\\ \\ 
 + 
 + 
 +====void setStandBy(bool enabled);====
  
-В режиме Веб-портала "​Для ​всей системы"​ позволяет переназначить все системные кнопки ​на пульте.+Переводит приставку в режим ​сна (//​enabled//​=true) ​или возвращает из режима сна ​(//​enabled//​=false).
  
 \\ \\ \\ \\
Строка 186: Строка 298:
 //vod// - данный URL содержит VOD-файл (с конечной длиной);​ //vod// - данный URL содержит VOD-файл (с конечной длиной);​
  
-//live// - дынный URL содержит live ТВ-поток (можно использовать ​Timeshift и DVR);+//live// - данный URL содержит live ТВ-поток (можно использовать DVR и MPEGTS шифрование), либо адаптивный HLS; 
 + 
 +//live_ts// - тоже, что //live//, но при постановке на паузу включается локальный Timeshift.
  
 Примеры:​ Примеры:​
Строка 192: Строка 306:
 playUrl ("​udp://​239.1.1.1",​ "​live"​);​ // начать проигрывание multicast-потока;​ playUrl ("​udp://​239.1.1.1",​ "​live"​);​ // начать проигрывание multicast-потока;​
 playUrl ("​http://​domain.tv/​movies/​movie.mkv",​ ""​);​ // начать проигрывание видео-файла по http; playUrl ("​http://​domain.tv/​movies/​movie.mkv",​ ""​);​ // начать проигрывание видео-файла по http;
-playUrl ("​http://​domain.tv/​hls/​playlist.m3u8",​ ""​);​ // начать проигрывание HLS-видео;​+playUrl ("​http://​domain.tv/​hls/​playlist.m3u8",​ "live"); // начать проигрывание HLS-видео;​
 </​code>​ </​code>​
  
 \\ \\  \\ \\ 
  
-====void setVideoWindow(int x, int y, int w, int x, boolean onTop);====+====void setVideoWindow(int x, int y, int w, int h, boolean onTop);====
  
 Устанавливает размер окна видео. Координаты устанавливаются относительно текущего режима видео выхода. Устанавливает размер окна видео. Координаты устанавливаются относительно текущего режима видео выхода.
Строка 400: Строка 514:
  
  
-**onSystemEvent();​**+**onSystemEvent(String codename, Object args);** 
 + 
 +Вызывается при возникновении системных событий.\\ 
 +Варианты //​codename//:​\\ 
 +  * "​mounted"​ - подключено внешнее устройство хранения данных (args["​label"​] - метка устройства). 
 +  * "​unmounted"​ - отключено внешнее устройство хранения данных (args["​label"​] - метка устройства). 
 +  * "​onpause"​ - окно веб-приложения переведено в фоновый режим (например,​ открыт экран Home или Настройки). 
 +  * "​onresume"​ - окно веб-приложения снова активно (вызывается при возврате в приложение). 
 +  * "​cec_sleep"​ - подключенный по HDMI телевизор был выключен. 
 +  * "​cec_wake"​ - подключенный по HDMI телевизор был включен.
  
-На данный момент не используется. 
  
tvipjsapi/2.1415862416.txt.gz · Последние изменения: 2014/11/13 10:06 — Alexander