Page 2 of 3

Re: Пульт ДУ на андроид

Posted: Tue Aug 11, 2015 6:52 pm
by Prog
Снова не меняя версию опубликовал обновления с более лучшей работой с командами. Но параметры по прежнему не понимает, по этому переключения каналов (Ch) не заработает. Вопрос больше по цифрам и прочему такому интерфейсному управлению.

Но пока это только эксперемент. Не могу придумать куда сервер поместить. Он нужен и в media server и в RC плагине и в UI... причём в UI не получается без прав админа.

Re: Пульт ДУ на андроид

Posted: Tue Aug 11, 2015 7:38 pm
by Zzz
Prog wrote:причём в UI не получается без прав админа
Долго не мог понять, почему не подключается из вне к серверу, хотя в фаерволе ProgDVB разрешил любую сетевую активность. Просмотрев открытые порты увидел, что порт 10998 открыт не у ProgDVB(как в случае с 10999 портом), а самой системы. Может дело в этом?

Re: Пульт ДУ на андроид

Posted: Tue Aug 11, 2015 7:43 pm
by Prog
Возможно. Я .net httplistener пользую. Делать http поверх сокета в .net как то глупо даже.

Лучше стало в последней версии?

Re: Пульт ДУ на андроид

Posted: Tue Aug 11, 2015 10:49 pm
by Zzz
Prog wrote:Лучше стало в последней версии?
Ну зависания пропали. Но вот часть команд перестало работать. Сервер возвращает ОК, но команды не работают
EqualizerPanel
Subtitle
SubtitleOnOff
StartRecord
StopRecord
ScreenShot
VolumeUp
VolumeDown
ZoomIn
ZoomOut
BackChannel
ForwardChannel
LastChannel
ToggleFavorite
WindowMode
Normal
NormalWindowFullscreenMode
PlaybackFirst
PlaybackPrev
PlaybackNext
PlaybackLast
ChannelInfo
Scheduler
ShowOSDMainMenu
OSDCancel
ChMinus
ChPlus
Up10x
Down10x

Re: Пульт ДУ на андроид

Posted: Wed Aug 12, 2015 6:54 am
by Prog
Это потому что таких команд нет. Там зачемто то список всех возможных команд но работает как ДУ, по этому StartRecord нет вовсе (а надо ли?) а вместо Up10x 10Ch- . Список можно в настройках ДУ посмотреть.
Но не важно. Мне надо решить что делать с размещением сервера. Очень не хочется запускать их несколько для разных функций.

Re: Пульт ДУ на андроид

Posted: Wed Aug 12, 2015 11:18 am
by Zzz
Уже нет? Вот эти команды в прошлой сборке точно были:
VolumeUp
VolumeDown
ZoomIn
ZoomOut
BackChannel
ForwardChannel
LastChannel
ToggleFavorite
WindowMode
Normal
NormalWindowFullscreenMode
PlaybackFirst
PlaybackPrev
PlaybackNext
PlaybackLast
ChannelInfo
И думаю они вполне нужны.

Я не знаю всей концепции media server'а и RC плагина, но сервер бы оставил в UI. Сейчас редко у кого нет доступа к админским правам.

Re: Пульт ДУ на андроид

Posted: Wed Aug 12, 2015 11:33 am
by Prog
Они есть. просто по именам ДУ сейчас. Что тоже наверное не верно, потому что ДУ имя пользователь может изменить.

Прав админа у приложения по умолчанию нет. Это нужно в шоткате править например. Не удобно. Нет, ну можно конечно и свой сервер сделать и в .net и проблема админа отпадёт, но 2 сервера на разных языках не удобно, причём работать клиенту с двумя одновременно. Как бы не с тремя, что бы запускать ProgDVB из трея.

Re: Пульт ДУ на андроид

Posted: Wed Aug 12, 2015 12:38 pm
by Zzz
Prog wrote:Они есть. просто по именам ДУ сейчас. Что тоже наверное не верно, потому что ДУ имя пользователь может изменить.
Сервер ошибку возвращает, если вместо команд имена ду подставлять.

Да, два сервера не удобно. Уже убедился :)

Re: Пульт ДУ на андроид

Posted: Fri Aug 14, 2015 9:35 am
by Prog
В пререлизе перенёс управление в mediaserver. По краней мере epg для клиента нужно именно оттуда. epg нет, но есть ДУ с новым синтаксисом

/rc/record
/rc/list для получения списка

Re: Пульт ДУ на андроид

Posted: Fri Aug 14, 2015 3:28 pm
by Zzz
При вызове любой команды ProgDVB падает с ошибкой
Type: Unhandled .NET Thread Exception
Message: Несоответствие числа параметров.
Method: System.Object Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo, Boolean)

Stack:
â System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
â System.Delegate.DynamicInvokeImpl(Object[] args)
â System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
â System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
â System.Threading.ExecutionContext.runTryCode(Object userData)
â System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
â System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
â System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
â System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
â System.Windows.Forms.Control.InvokeMarshaledCallbacks()

Extra details:

Re: Пульт ДУ на андроид

Posted: Fri Aug 14, 2015 4:12 pm
by Prog
Какой именно? Я букавально пару команд тестировал.

Re: Пульт ДУ на андроид

Posted: Fri Aug 14, 2015 4:56 pm
by Zzz
VolumeUp
VolumeDown
Mute
Equalizer
Возможно и другие

Re: Пульт ДУ на андроид

Posted: Fri Aug 14, 2015 7:00 pm
by Prog
Обновил пререлиз. Но не уверен. У меня и старая версия работала.

ps: Сервер должен быть тот что с инсталлятором. А работает он только при открытом канале.

Re: Пульт ДУ на андроид

Posted: Sat Aug 15, 2015 5:26 am
by Prog
Версия должна быть "e". Вообще созревает план отладить всё на media server а потом этот http сервер сделать отдельным модулем для ДУ, вместе с расширением API которое на этапе отладки сервера образуется. Вам этот переезд в модуль ДУ, потребует только смену порта по умолчанию.

Re: Пульт ДУ на андроид

Posted: Sat Aug 15, 2015 12:31 pm
by Zzz
Извиняюсь, мой косяк был. Подключался к порту 10998, а там старый сервер не отключен был. Сейчас все нормально.

Как этими командами пользоваться CH, ChNew, ChBg, ChBgRecord?


И еще удобно было бы, если сервер возвращал команды, которые сейчас задействованы. Например, если в ручную включить запись и вызвать специальную команду, то сервер вернет, что запись включена.


Сейчас вот до такого доделал. Правда, пока что логотипы жестко привязаны к именам каналов.
Остальные кнопки на другой активити, но их еще от рисовать надо.