Improve Android radio capture lifecycle, VAD and PTT controls
This commit is contained in:
1 parent
52ffb91101
commit
0d44ada922
14 files changed
+839
-385
No files matched your search
+7
-2
@@ -35,12 +35,17 @@
|
||||
512, фильтр-гистерезис + машина состояний (`src/radio/radio_vad.h`, чистый,
|
||||
юнит-тестируемый): старт при подтверждении 2 окон (~64мс) выше порога
|
||||
`radio_vad_threshold`, стоп при тишине `radio_vad_hangover_ms` (200мс) или чужом
|
||||
разговоре (busy = RX-кадр <200мс). Pre-roll `radio_vad_pre_roll_ms` (200мс) —
|
||||
кольцевой буфер сырого PCM, флашится при срабатывании («передаём за 200мс до»).
|
||||
разговоре (busy = RX-кадр <200мс). История захвата (pre-roll) удалена; передаётся текущий PCM.
|
||||
Компрессор в VAD-режиме байпасится. Desktop `radio_audio_engine.cpp` и Android
|
||||
`RadioAudioEngine.kt` фидят PCM постоянно в VAD-режиме; JNI `radioVadMode()`.
|
||||
Тест `test_radio_vad` (ресемплер + FSM). Android: onnxruntime AAR 1.23.2 в
|
||||
`jniLibs/` + `cpp/onnxruntime/include` + `-DHAVE_SILERO_VAD` в CMake.
|
||||
Android: настройки VAD (включение, порог, задержка после тишины); микрофон в PTT
|
||||
создаётся только для передачи. PTT запускается при касании, после отпускания
|
||||
передаёт ещё 250мс; повторное касание отменяет завершение (двойной тап без FIN).
|
||||
VAD работает 15 минут при горящем экране;
|
||||
SCREEN_OFF освобождает захват, SCREEN_ON автоматически открывает новое окно.
|
||||
RX остаётся активен; TX освобождается отдельно через `radio_audio_capture_stop()`.
|
||||
|
||||
[+] **chatgui (Qt) не собирался: C++ void* в utun_node.cpp** — сделано. Причина:
|
||||
`proxy_protocol.h` (C-заголовок, включается в C++ `utun_node.cpp`) делал
|
||||
|
||||
Reference in new issue
Block a user