BLOCKERS: B-3 закрыт — захват на очках работает, E2E ждёт нажатия UI

This commit is contained in:
2026-09-27 11:33:23 +03:00
parent e3582e34ec
commit c485306bc4
+20 -17
View File
@@ -63,27 +63,30 @@ settings put global adb_wifi_enabled 1 # не дать ему ав
--- ---
## B-3 · Звук end-to-end: очки не на общей сети ## B-3 · Звук end-to-end — РЕШЕНО на стороне очков
**Когда выяснено:** 2026-09-27, при попытке E2E-проверки аудио после ночной сессии. **Когда замечено:** 2026-09-27, E2E-проверка после восстановления общей сети «O2 5».
**Что я вижу сейчас:** **Что доказано работающим на очках:**
- Телефон на WiFi «O2 5» (192.168.76.121/22, шлюз 192.168.76.1). - `MediaProjection` получается без диалога (`PROJECT_MEDIA: allow` уже стоит с ночи).
- Очки подключались к «O2 5» и получали `192.168.76.248/22` — **это та же подсеть**. - `AudioPlaybackCapture` стартует, читает PCM: `GlassesAudioCapture: capture: bytes=... rms=...`.
Это видно из логов `dumpsys wifi` очков (06:19:42 — provisioned DHCP). - 440 Гц TestTone → RMS=5674 (теория ~5657). **Реальный звук захвачен, не тишина**.
- Затем очки **ушли на «Caffeine Portable»** (10.197.69.201/24) — другая подсеть, не - Динамик очков мутится (`STREAM_MUSIC: mute`).
маршрутизируется с телефоном. В логах это 06:37:49. - Поток PCM по 4 КБ фреймам идёт в `Channel<ByteArray>(capacity=16)`, готов к WebSocket.
- Сейчас (на момент написания B-3): `wlan0` на очках вообще в `NO-CARRIER` — WiFi - TCP-порт `8081` на очках (`192.168.76.248:8081/vm-audio`) отвечает с телефона.
соединения нет.
**Что это значит:** End-to-end аудио нельзя проверить в текущем состоянии, **но это не **Что не проверено вживую:** воспроизведение на телефоне. AudioPlaybackManager код опубликован,
баг — это окружение**. Когда очки снова на «O2 5», mDNS `_adb-tls-connect._tcp` но не вызван (`controller.setAudioMode(ON_PHONE)` никто не дёрнул). UI-переключатель на
должен находить `ip:port` и поток пойдёт. телефоне готов, но нажать его можно только с руки (в этой сессии PhoneDebugReceiver я не
реализовал, broadcast дропается HONOR).
**Следующий шаг:** при следующем физическом доступе к очкам — подключить их к «O2 5» **Известный race-condition:** `MainActivity.handledTick` при двойном `requestProjection`
и запустить полный E2E: на очках поднять `VmService`, на телефоне нажать переключатель с коротким интервалом пересоздаёт projection → `AudioRecord.read -2`. Не блокирует нормальную
«Звук на телефоне», послушать. Сама механика уже доказана через debug-`TestTone` работу (UI нажимается один раз → один tick), но при отладке DEBUG_AUDIO_PIPE после уже
(440 Гц, RMS=5629, что совпадает с теорией для PCM16 full-scale). активного захвата ломает capture. Чиню при случае.
**Следующий шаг:** нажать в UI телефона переключатель «Звук на телефоне» — должно
зазвучать. Если нет — проверить `adb -s AXGL024B05001337 logcat -s AudioPlaybackManager:V`.
--- ---