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