Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 2.99 KB

remoteprotocol.md

File metadata and controls

31 lines (21 loc) · 2.99 KB

Remote player протокол

Протокол обмена поверх websocket. Приложение поднимает внутри non secure websocket сервер который может выступать в роли PubSub т.е. он порождает сообщения и рассылает их всем подключенными клиентам. Также есть вариант для роли hub, т.е. сервер будет пересылать сообщения между клиентами.

Протокол обмена сообщениями plain/text в форматах с аргументом и без.

С аргументом

command::argument

Без аргумента

command

Клиентские команды

getcurrentvideosource - попросить сервер прислать текущий видео источник
getcurrentvideoposition - попросить сервер прислать текущую позицию в видео источнике
getcurrentvolume - попросить сервер прислать текущую настройку громкости (в сервере есть настройка которая может отключать серверный ответ)
getcurrentplaybackrate - попросить сервер прислать текущую настройку скорости воспроизведения
getcurrentplayback - попросить сервер прислать текущее состояние воспроизведения - воспроизведение/пауза (в сервере есть настройка которая может отключать серверный ответ)

Серверные команды

videosourcechanged::videosource string - когда на сервере происходит смена источника видео присылается эта команда с указанием нового источника как аргумент.
volumechanged::volume integer - когда на сервере меняется громкость то приходит это сообщение и передается громкость как аргумент 0-100.
positionchanged::position/duration string - когда на сервере меняется вручную позиция видео в ползунке то приходит это сообщение с новой позицией и продолжительностью.
playbackratechanged::rate double - когда на сервере меняется скорость воспроизведения то приходит это сообщение как число двойной точности.
playbackchanged::state string когда на сервере меняется состояние вопроизведения то приходит эта команда с новым статусом. Значения - play, pause.