Open main menu

Ace Stream Wiki β

Changes

Engine API

3,293 bytes added, 12:48, 12 February 2013
→‎STATUS
;Версия API
:>= 1
 
;Описание
:Данное сообщение отправляется периодически для информирования клиента о текущем статусе загрузки контента. Основное назначение этого сообщение - дать клиенту возможность отображать пользователю о том, что сейчас происходит на движке.▼
 
;Синтаксис
<tt>STATUS ''status_string''</tt>
 
;Параметры
▲Данное сообщение отправляется периодически для информирования клиента о текущем статусе загрузки контента
* <tt>'''status_string'''</tt> - строка описанного ниже формата▼
 
▲<tt>'''status_string'''</tt> - строка описанного ниже формата
 
 
Если идет проигрывание основного контента
<tt>STATUS main:status_string''status_description''</tt>▼
 
Если идет проигрывание рекламного ролика (рекламный ролик и основной контент описываются отдельно; например, рекламный ролик уже полность загружен, а основной контент проходит стадию пребуферизации):
▲ <tt>STATUS main:status_string</tt>
<tt>STATUS main:''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>'''total_progress'''</tt> - сколько всего закачано по данному файлу▼
<tt>STATUS main:status_string|ad:status_string</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.▼
 
Все progress принимают значение от 0 до 100.▼
<tt>'''status_string:'''</tt>
 
''';Примеры:'''▼
▲движок ничего не делает - <tt>'''idle'''</tt>
<tt><nowiki>Движок ничего не делает:
<<STATUS main:dl|ad:dl</tt>idle▼
 
Загружается транспортный файл:
▲ошибка - <tt>'''err;error_id;error_message'''</tt> (код и описание)
<<STATUS main:loading
 
Инициализация воспроизведения:
▲проверка - <tt>'''check;progress'''</tt>
<<STATUS main:starting
 
Пребуферизация 0%, еще нет подсоединенных пиров:
▲пребуферизация - <tt>'''prebuf;progress;time'''</tt>
<<STATUS main:prebuf;0;2147483648;0;0;0;0;0;0;0;0;0;0;
 
Пребуферизация 20%, скорость загрузки 328 Кбайт/с, подсоединено 7 пиров, загружено 5505024 байт:
закачка - <tt>'''dl'''</tt>
<<STATUS main:prebuf;20;2723;0;0;328;0;0;7;0;5505024;0;0
 
▲буферизация - <tt>'''buf;progress;time'''</tt>
 
▲ожидание достаточной скорости - <tt>'''wait;time'''</tt>
 
 
▲Ко всем <tt>status_string</tt> (кроме <tt>idle, err, check</tt>) добавляются общие данные:
 
▲ <tt>total_progress;immediate_progress;speed_down;http_speed_down;speed_up;peers;http_peers;downloaded;http_downloaded;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;451;30|ad:buf0;442;0;0;10;0;13920256;0;690
▲ STATUS main:dl|ad:dl</tt>
 
Рекламный ролик полность загружен и воспроизводится, основной контент пребуферизируется (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<tt>check - PrebufferingПроверка xx%
prebuf - Пребуферизация xx%
buf - Buffering xx%
buf - Буферизация xx%
wait - Waiting sufficient download speed
wait - Ожидание достаточной скорости
err - выводим сообщение об ошибке
loading - Загрузка...
starting - Запуск...
dl, idle - ничего не выводим</tt>