fix(voice): eliminate dual-recorder conflict and defunct element crashes

VadHandler is now the sole mic owner — removed separate AudioRecorder that
caused audio focus contention on Android. Audio from onSpeechEnd is encoded
as WAV for Whisper. Provider switched to autoDispose to match widget lifecycle,
preventing defunct element assertions. Recording UI deferred until mic is open.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-17 08:04:03 -04:00
parent 413b82f724
commit fc6c9648f9
8 changed files with 160 additions and 115 deletions
+1
View File
@@ -10,6 +10,7 @@ list(APPEND FLUTTER_PLUGIN_LIST
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST
vad
)
set(PLUGIN_BUNDLED_LIBRARIES)