Ps3 eye mikrofon

Nie mam. Włączam przyciskiem na zigbee.

Przyjmijmy, że wszystko co nie jest opisane w dokumentacji, nie jest obsługiwane i wspierane.
Chyba, że jesteś programistą, znasz podstawy systemu Linux/Android i wiesz co robisz, to wtedy możesz coś takiego próbować realizować.
Wkładanie wszystkich urządzeń, bez znajomości zasad działania systemu Linux/Android najprawdopodobniej zakończy się niepowodzeniem i rozczarowaniem…


Naświetlę temat poniżej gdybyś ktoś chciał go zgłębiać.

Obsługa audio która jest na bramce opiera się na media serwerze w systemie Android.

To było już na forum wyjaśniane i jest też w dokumentacji:

1. Na samym dole jest sprzęt (karta audio).

Ta wbudowana w bramkę ma 3 interfejsy (av, hdmi, spdif)

pilot i kamera PS3 podłączone po USB, to w systemie dodatkowe karty audio:

cat /proc/asound/cards

2. Na górze - to co używa użytkownik to nasza aplikacja Android oraz pakiety w Pythonie w których są zdefiniowane sentencje, intencje i akcje, itd…

3. “Magia” po środku to obsługa audio w systemie Android

To cała “magia” która się dzieje gdy wkładasz hdmi lub spdif i automatycznie przełącza się audio na to urządzenie jest realizowana przez Android. Dokładnie przez serwis AudioPolicyService który jest częścią Android Media server a ten serwer jest klockiem w skomplikowanej architekturze Android Audio.

To co próbujesz zrobić(używać 2 urządzenia audio jednocześnie), robi w systemie komponent AudioFlinger który na podstawie AudioPolicyService zarządza zasadami dotyczącymi dzwięku w systemie (ten serwis wie gdzie przekierować strumień - do jakiego urządzenia i jak go zmiksować).
Te zasady to scenariusze typu: co zrobić z odtwarzanym audio jak ktoś dzwoni, co zrobić jak ktoś podłączył urządzenie odtwarzające audio do HDMI, co jak sparował z głośnikiem BT itd…
Założenie jest takie, że system wie czego oczekuje użytkownik w danym scenariuszu i system to robi.

Tak samo jest to obsługiwane na bramce jak na telefonie z systemem Android.

Żeby dostawcy sprzętu z Android mogli definiować własne scenariusze, w systemie Android (od wersi 7.0) wprowadzono format pliku konfiguracji zasad dźwięku (XML) w który opisane są zasady.
Ten plik nazywa się audio_policy_configuration.xml i znajduje się w /system/etc

Zasady dotyczące audio które my mamy na bramce zdefiniowała firma Amlogic.
Od początku działania bramki nigdy tych zasad nie modyfikowaliśmy, bo Amlogic sprzedaje miliony urządzeń i chyba wie co robi.

Opowieści, że komuś nie działa po aktualizacji naszej aplikacji, kamera PS3 traktujemy dość luźno z 2 powodów:

  1. To nie jest i nigdy nie było oficjalnie wspierane
  2. To nie jest przez nas implementowane ani zmieniane - to się nie zmienia podczas aktualizacji (bo my aktualizujemy warstwę na samej górze)

Mam nadzieję, że to troszkę wyjaśnia temat. Gdyby ktoś chciał to zgłębić bardziej to warto sięgnąć do źródła - dokumentacji Android Open Source Project:

https://source.android.com/devices/audio/implement-policy

PS
Takie rzeczy jak zmiana audio_policy_configuration robią producenci urządzeń z Android, tacy jak Sony czy Oppo, oraz producenci płyt tacy jak Amlogic czy Rockchip, Allwiner.
Ci co składają sprzęt, dodają tam własne karty adudio i sprzedają go w milionach egzemparzy.
Część zmian może wymagać zmian w innych miejscach systemu - nie róbcie tego sami bo to się nie uda.

PS2
Jak wprowadzimy wybór mikrofonu w aplikacji to opiszemy to w dokumentacji i będziemy to wspierać.
Jak ktoś bardzo tego potrzebuje to zawsze może dodać taki kod - przyjmiemy do repozytorium albo sponsorować rozwój takiej funkcjonalności - pamiętajcie, że dopłacamy zawsze 50% do tego co nazbieracie.

3 polubienia

Chętnie mogę wesprzeć taki projekt :slightly_smiling_face:
Rozumiem i dziękuję za wytłumaczenie :slightly_smiling_face:

1 polubienie

Witam wszystkich A ja mam to samo jak podłączona kamera ps3 to mikrofon w pilocie nie działa .ale zauważyłem coś ciekawego jeśli nacisnę mikrofon w pilocie to aktywuję mikrofon w ps3🙂 czy istnieje możliwość żeby uruchomić nasłuchiwanie na słowo aktywujące tak jak w telefonie.

1 polubienie

Co należy zrobić żeby:

  1. mikrofon z PS3 zaczął działać podpięty do bramki z wyrażeniem aktywującym?
  2. zobaczyć obraz z kamery w interfejsie AIS?

Podpiołem kamerkę. Została poprawnie wykryta w systemie, ale nic nie działa, nawet jak aktywuje mikrofon przyciskiem (ikonką mikrofonu) bezpośrednio na bramce.

Dodam, że pilot AIS odłączyłem.

W automatyzacji musisz dodac.

service: ais_ai_service.publish_command_to_frame
data:
key: micOn
val: ‘true’

Ale to zadziała jeżeli wymuszę to jakimś zdarzeniem np. przyciskiem. A chciałbym, żeby ten mikrofon nasłuchiwał cały czas wyrażenia aktywującego. Jest taka możliwość?

Tak, musisz jeszcze włączyć “nasłuchiwanie wyrażenia aktywującego” na aplikacji na bramce (podłączonej przez HDMI)

Tak właśnie zrobiłem, ale nie reaguje na wyrażenie aktywujące. Jeżeli u Was to działa, to znaczy, że jest taka możliwość. Zrobię jeszcze restart i pogrzebie po ustawieniach. Póki co dziękuję.

A propos kamery. Można podejrzeć obraz z niej w HA?

Pod przycisk aqara mam tak.

platform: device
domain: mqtt
device_id: 7e28a9b5acc88fbfa1eef49716351432
type: action
subtype: hold
discovery_id: 0x00158d0005303b543 action_hold

Odpuściłem to jakiś czas temu, bo działo nie stabilne, raz rozpoznaje bez problemu innym razem jakby głuche. Z @bartik22 próbowaliśmy też na mi-boxie xiaomi i też się wieszało.

Nie ma takiej możliwości.

1 polubienie

W kontekście pozyskania obrazu z kamery, zastanawiam się czy rozwiązanie opisane w pod tym linkiem mogłoby zdziałać: Playstation PS3 Eye Streaming - Raspberry Pi Forums. Jak udało by się wygenerować rtsp dla lokalnej kamery to powinno się udać. W wolnej chwili spróbuję to przećwiczyć.

3 polubienia