Версия API #1
Доступна на прошивках linux-qt от 3.2.0.
Медиаценты TVIP отображают Web-контент с использованием движка WebKit.
JavaScript API в медиацентрах TVIP базируется на следующих основных объектах:
Объекты не требуют явного создания или какой-либо инициализации и доступны из любой Web-странцы, открытой в STB-браузере.
Возвращает номер версии API.
Возвращает идентификатор текущего активного языка интерфейса ('en', 'ru').
Возвращает текущий часовой пояс (например, Europe/Moscow).
Возвращает текущий режим дисплея («1080i», «1080p», «720p», «576i», и т.д.).
Возвращает список имен каталогов в системном каталоге directory.
[ "Dir1", "Dir2", "Dir3" ]
Возвращает список объектов с данными о файлах (без каталогов) в системном каталоге directory.
[ { "name": "file1", "size": 1234567 }, { "name" : "file2", "size" : 44444 } ]
name - имя файла в каталоге, size - размер файла в байтах.
Получить переменную из постоянного хранилища браузера. Если name не найден, вернется пустая строка.
Возвращает строку, содержащую основной MAC-адрес приставки. Обычно это MAC-адрес Ethernet.
Возвращает список объектов смонтированных накопителей (локальных и сетевых).
[ { "label": <label>, "path" : <ospath>, "fstype" : <file_system> }, ]
Поля объекта: label - имя (метка) смонтированного ресурса для отображения пользователю; path - каталог, в который смонтирован ресурс; fstype - тип файловой системы (варианты: vfat, ntfs, ext2, ext3, nfs, cifs.
Возвращает true, если в системной файловой системе существует каталог с именем osPath, иначе false.
Возвращает true, если в системной файловой системе существует файл (не каталог) с именем osPath, иначе false.
Запустить системные настройки Tvip.
Выводит отладочное сообщение в системную консоль (Linux) или logcat (Android).
Установка цвета UI, который будет считаться прозрачным. color - цвет в формате RGB.
Устанавливает HTTP-заголовок для будущих HTTP-запросов браузера. header - имя заголовка, value - значение заголовка. Если value пустая строка, то удаляется ранее установленный заголовок.
Сохранить переменную в постоянном хранилище браузера. Все переменные доступны всем страницам браузера.
Задать фильтры имен файлов для getDirectoryFiles и getDirectoryDirs. Фильтры разделяются символом |. Можно использовать символы ? и *. Например: *.avi|*.mp3
Отобразить (show=true) или скрыть (show=false) виртуальную клавиатуру.
Сбросить настройки: прозрачного цвета; HTTP-заголовков; фильтра файлов.
Сбросить воспроизведение. При переходе между страницами, если не требуется продолжение проигрывания, нужно вызывать этот метод.
Начать проигрывание видео по заданному URL или непосредственному пути в файловой системе.
Параметр mode может принимать значения:
vod - данный URL содержит VOD-файл (с конечной длиной);
live - дынный URL содержит live ТВ-поток (можно использовать Timeshift и DVR);
Примеры:
playUrl ("udp://239.1.1.1", "live"); // начать проигрывание multicast-потока; playUrl ("http://domain.tv/movies/movie.mkv", ""); // начать проигрывание видео-файла по http; playUrl ("http://domain.tv/hls/playlist.m3u8", ""); // начать проигрывание HLS-видео;
Устанавливает размер окна видео. Координаты устанавливаются относительно текущего режима видео выхода.
Если w = 0 и h = 0, используется полноэкранный режим.
Если onTop = true, видео окно рисуется поверх UI.
Остановить воспроизведение, если оно было запущено.
Поставить воспроизведение на паузу.
Продолжить воспроизведение, если оно было поставлено на паузу.
Установить позицию воспроизведения на position в миллисекундах. Необходимо учитывать, что начало воспроизведения - это minPosition - см. ниже.
Возвращает текущую позицию воспроизведения.
Возвращает минимальную позицию воспроизведения (т.е. начало контента).
Возвращает максимальную позицию воспроизведения (т.е. конца контента).
Устанавливает громкость звука в интервале от 0 до 100.
Возвращает текущую громкость звука в интервале от 0 до 100.
Отключает (mute=true) или включает (mute=false) звук.
Возвращает true, если звук выключен, иначе false;
Возвращает тип контейнера последнего проигрываемого контента (например, mpegts, avi, matroska).
Возвращает количество медиапотоков в последнем проигрываемом контенте (аудио, видео, субтитров, итд).
Возвращает объект с информацией о медиапотоке с номером index.
{ "type": <videotype>, "id": <id>, "codec": <codec>, "lang" : <lang> }
Здесь: videotype - тип медиапотока:«v» - видео, «a» - аудио, «s» - субтитры; id - внутренний идентификатор (PID); codec - название кодека потока; lang - для аудиопотоков 3 буквенный код языка.
Возвращает номер потока с видео-дорожкой, проигрываемой в данный момент.
Возвращает номер потока с аудио-дорожкой, проигрываемой в данный момент.
Устанавливает номер активной аудио-дорожки (index).
Устанавливает режим aspect ratio. На данный момент поддерживаются значения: «box» - Оригинал, «full» - На весь экран, «zoom» - Увеличенный.
Добавляет новое задание на запись эфира.
Здесь: name - произвольное имя записи, url - URL потока (поддерживаются потоки в формате MPEGTS через UDP, RTP и HTTP, path - локальный путь для записи, start и end - время начала и окончания записи в UNIX TIMESTAMP либо в формате «YYYYMMDDTHHmmss».
Возвращает уникальный идентификатор созданного задания.
Удаляет задание на запись с уникальным идентификатором id. Если removeFile=true, удаляется также записанный на диск поток. Возвращает true в случае успешного удаления.
Меняет время начала и/или окончания записи с уникальным идентификатором id. Если требуется поменять только одно из значений, то второе - пустая строка. Формат start и end см. в описании addRecord.
Возвращает список уникальных идентификаторов заданий, которые добавлены в настоящий момент.
Возвращает объект с параметрами записи с уникальным идентификатором id.
{ "id": <id>, "name": <name>, "startTime": <start>, "endTime" : <end>, "url" : <url>, "status" : <status> }
Здесь: <id>, <name>, <start>, <end> - соответствуют параметром метода addRecord; <status> - статус записи: «waiting» - ожидает запись, «recording» - запись в процессе, «finished» - запись завершена, «error» - произошла ошибка.
TvipEvent содержит Callback функции, которые можно переназначить для получения событий.
onPlayerStateChange(int oldState, int newState);
Вызывается при изменении статуса воспроизведения медиаплеера. oldState - предыдущий статус плеера, newState - новый статус плеера.
Возможные значения статусов плеера:
onSystemEvent();
На данный момент не используется.