Changes

Jump to: navigation, search

Engine API

3,293 bytes added, 15:48, 12 February 2013
STATUS
;Версия API
:>= 1
 
;Описание
:Данное сообщение отправляется периодически для информирования клиента о текущем статусе загрузки контента. Основное назначение этого сообщение - дать клиенту возможность отображать пользователю о том, что сейчас происходит на движке.
;Синтаксис
<tt>STATUS ''status_string''</tt>
Данное сообщение отправляется периодически для информирования клиента о текущем статусе загрузки контента;Параметры* <tt>'''status_string'''</tt> - строка описанного ниже формата 
Если идет проигрывание основного контента
<tt>STATUS main:''status_description''</tt>
Если идет проигрывание рекламного ролика (рекламный ролик и основной контент описываются отдельно; например, рекламный ролик уже полность загружен, а основной контент проходит стадию пребуферизации): <tt>STATUS main:status_string''status_description''|ad:''status_description''</tt>
;Возможные значения <tt>''status_description:''</tt>
* движок ничего не делает - <tt>'''idle'''</tt>
* движок загружает транспортный файл (обрабатывает команду <tt>LOADASYNC</tt>) - <tt>'''loading'''</tt>
* движок выполняет предварительную инициализацию воспроизведения (движок переходит в это состояние после получения команды <tt>START</tt> от клиента) - <tt>'''starting'''</tt>
* ошибка - <tt>'''err;error_id;error_message'''</tt> (код и описание)
* проверка - <tt>'''check;progress'''</tt>
* пребуферизация - <tt>'''prebuf;progress;time'''</tt>
* контент загружается либо уже полностью загружен - <tt>'''dl'''</tt>
* буферизация - <tt>'''buf;progress;time'''</tt>
* ожидание достаточной скорости - <tt>'''wait;time'''</tt>
Если идет проигрывание рекламного роликаКо всем <tt>status_string</tt> (кроме <tt>idle, loading, starting, err, check</tt>) добавляются общие данные: <tt>total_progress;immediate_progress;speed_down;http_speed_down;speed_up;peers;http_peers;downloaded;http_downloaded;uploaded</tt>
* <tt>STATUS main:status_string|ad:status_string''total_progress''</tt>- сколько всего закачано по данному файлу* <tt>''immediate_progress''</tt> - сколько непрерывных данных закачано начиная с текущей позиции (для отображения кол-ва закачанного в бегунке)* <tt>''speed_down''</tt> - скорость загрузки (Кбайт/с)* <tt>''http_speed_down''</tt> - скорость загрузки от прямых http-источников (Кбайт/с)* <tt>''speed_up''</tt> - скороть отдачи (Кбайт/с)* <tt>''peers''</tt> - количество подсоединенных пиров* <tt>''http_peers''</tt> - количество подсоединенных прямых http-источников* <tt>''downloaded''</tt> - объем загруженных данных (байт)* <tt>''http_downloaded''</tt> - объем загруженных по http данных (байт)* <tt>''uploaded''</tt> - объем отданных данных (байт)
Все числа передаются как integer.
<tt>'''status_string:'''</tt>Все progress принимают значение от 0 до 100.
движок ;Примеры <tt><nowiki>Движок ничего не делает - :<tt>'''<STATUS main:idle'''</tt>
ошибка - Загружается транспортный файл:<tt>'''err;error_id;error_message'''</tt> (код и описание)STATUS main:loading
проверка - Инициализация воспроизведения:<tt>'''check;progress'''</tt>STATUS main:starting
пребуферизация - Пребуферизация 0%, еще нет подсоединенных пиров:<tt>'''<STATUS main:prebuf;progress0;2147483648;0;0;0;0;0;0;0;0;0;0;time'''</tt>
закачка - <tt>'''dl'''<Пребуферизация 20%, скорость загрузки 328 Кбайт/tt>с, подсоединено 7 пиров, загружено 5505024 байт: буферизация - <tt>'''buf<STATUS main:prebuf;progress20;time'''</tt> ожидание достаточной скорости - <tt>'''wait2723;time'''</tt>  Ко всем <tt>status_string</tt> (кроме <tt>idle, err, check</tt>) добавляются общие данные:  <tt>total_progress0;immediate_progress0;speed_down328;http_speed_down0;speed_up0;peers7;http_peers0;downloaded5505024;http_downloaded0;uploaded</tt> <tt>'''total_progress'''</tt> - сколько всего закачано по данному файлу <tt>'''immediate_progress'''</tt> - сколько непрерывных данных закачано начиная с текущей позиции (для отображения кол-ва закачанного в бегунке)  Все числа передаются как integer. Все progress принимают значение от 0 до 100.
Пребуферизация 90%, скорость загрузки 420 Кбайт/с, подсоединено 9 пиров, загружено 11659264байт:
<<STATUS main:prebuf;90;3299;1;0;420;0;0;9;0;11659264;0;0
'''ПримерыИдет загрузка контента, загружен 1%, скорость загрузки 442 Кбайт/с, подсоединено 10 пиров, загружено 13920256:''' <tt><STATUS main:prebufdl;1;0;442;0;0;10;0;4513920256;30|ad:buf0;69 STATUS main:dl|ad:dl</tt>0
'''Пример трансформация статусов в текстовые сообщенияРекламный ролик полность загружен и воспроизводится, понятные пользователюосновной контент пребуферизируется (20%):'''<<STATUS main:prebuf;20;2723;0;0;328;0;0;7;0;5505024;0;0|ad:dl;100;0;0;0;0;0;0;13920256;0;0</nowiki></tt>
;Пример трансформации статусов в текстовые сообщения, понятные пользователю <tt>check - Checking Проверка xx% prebuf - Prebuffering Пребуферизация xx% buf - Buffering Буферизация xx% wait - Waiting sufficient download speedОжидание достаточной скорости
err - выводим сообщение об ошибке
loading - Загрузка...
starting - Запуск...
dl, idle - ничего не выводим</tt>

Navigation menu