Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
tvipjsapi:2 [2014/11/14 14:05] 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// - уникальный идентификатор точки монтирования. | ||
\\ \\ | \\ \\ | ||
Строка 213: | Строка 298: | ||
//vod// - данный URL содержит VOD-файл (с конечной длиной); | //vod// - данный URL содержит VOD-файл (с конечной длиной); | ||
- | //live// - дынный URL содержит live ТВ-поток (можно использовать Timeshift и DVR); | + | //live// - данный URL содержит live ТВ-поток (можно использовать DVR и MPEGTS шифрование), либо адаптивный HLS; |
+ | |||
+ | //live_ts// - тоже, что //live//, но при постановке на паузу включается локальный Timeshift. | ||
Примеры: | Примеры: | ||
Строка 219: | Строка 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);==== |
Устанавливает размер окна видео. Координаты устанавливаются относительно текущего режима видео выхода. | Устанавливает размер окна видео. Координаты устанавливаются относительно текущего режима видео выхода. | ||
Строка 427: | Строка 514: | ||
- | **onSystemEvent();** | + | **onSystemEvent(String codename, Object args);** |
+ | |||
+ | Вызывается при возникновении системных событий.\\ | ||
+ | Варианты //codename//:\\ | ||
+ | * "mounted" - подключено внешнее устройство хранения данных (args["label"] - метка устройства). | ||
+ | * "unmounted" - отключено внешнее устройство хранения данных (args["label"] - метка устройства). | ||
+ | * "onpause" - окно веб-приложения переведено в фоновый режим (например, открыт экран Home или Настройки). | ||
+ | * "onresume" - окно веб-приложения снова активно (вызывается при возврате в приложение). | ||
+ | * "cec_sleep" - подключенный по HDMI телевизор был выключен. | ||
+ | * "cec_wake" - подключенный по HDMI телевизор был включен. | ||
- | На данный момент не используется. | ||