---
Zainspirowany tym postem: viewtopic.php?t=12462 ; zapowiedziałem, że poszukam czy da się taką integrację zrobić ogólnie na "android tv" niezależnie od używanej apki, czyli aby to działało z Netflixem, Youtube, Disney+, HBO, wp pilot, itd
Temat jeszcze nie jest gotowy, ale da się to zrobić. Są dwie możliwości:
1. Zrobienie apki na android tv, która będzie urządzeniem w Supli, będzie działać w tle na tv i nasłuchiwać tego co się dzieje, a o zdarzeniach informować przez Wyzwalacze Akcji w Supli. Niestety Android to nie moja bajka i na chwilę obecną nie mam czasu na zagłębienie się w ten temat - ale jeśli ktoś chciałby takie coś zrobić, to byłby ciekawy projekt
2. Używanie narzędzie deweloperskich "adb" pozwala na odczyt takiej infrmacji. Na tym się skupię w dalszej częsci tego opisu.
Do obsługi będzie potrzebny nam komputer z Linuxem. Z tego co widzę "adb" jest też dostępny na malinki, ale nie sprawdzałem.
Po krótkim researchu, znalazłem, że aktualny stan odtwarzania można odczytać używając polecenia:
Kod: Zaznacz cały
adb shell dumpsys media_session
Następnie na komputerze (ja używam Linuxów na bazie Debiana/Ubuntu, więc taki przykład daję) instalujemy adb:
Kod: Zaznacz cały
sudo apt install adb
Kod: Zaznacz cały
adb connect 192.168.1.10
Następnie łączymy się jeszcze raz i już powinno się połączyć.
Do wydodbycia stanu używamy polecenia:
Kod: Zaznacz cały
adb shell dumpsys media_session
1 - stop
2 - pauza
3 - odtwarzanie
Jeszcze są inne kody, ale numerów teraz nie pamiętam, odpowiadające za: brak, błąd, przewijanie do przodu, do tyłu itp.
Pojedynczą cyferekę stanu aktywnej media session możemy wyłuskać takim poleceniem:
Kod: Zaznacz cały
adb shell dumpsys media_session | grep -E "Media button session is.*userId=0" -A11 | grep -oE "state=[0-9]+" | grep -o "[0-9]*"
Dodatkowo można sterować telewizorem poprzez udawanie wciśnięcia przycisków. Dla chętnych są tam nawet infomracje o tym co aktualnie jest odtwarzane i wiele innych.
Także pozostaje dorobić obsługę tego w naszym sofcie. Planuję dodać możliwość podglądu stanu i sterowania (włącz = play, wyłącz = pauza) przy pomocy kanału przekaźnika. Stan też będzie "dwustanowy", bo na tyle pozwala przekaźnik, ale będzie info o odtwarzaniu i pauzie/stop.
Dodatkowo soft będzie wysyłał Wyzwalacze Akcji na różne stany: STOP, PAUZA, PLAY, itd. oraz na przejścia między stanami.
Jest to rozwiązanie oparte o aktywne odpytywanie stanu urządzenia, więc ta komenda adb shell będzie odpalana pewnie co 1 s i taki będzie czas reakcji wyzwalaczy.
Stay tuned
PS: jeśli ktoś umie androida, to taka apka odczytująca stan i pozwalająca na sterowanie telewizorem nie powinna być zbyt trudna do zrobienia. Gdyby tam dodać normlane logowanie do Supli (podaj mail, adres serwera, oraz włącz rejestrację urządzeń), to taka apka integrująca z TV byłaby dużo prostsza dla przeciętnego zielonego użytkownika trzech kółeczek i patyczków