fix(asr): keep recordings when streaming recognition fails or stalls
- Keep recording after a streaming ASR error and retry the captured PCM through batch ASR before reporting a failure. - Treat an expired ASR wait as a stall so batch fallback still runs. - Prime the managed Volcengine stream on mic touch and adopt it only while fresh and open. - Auto-scroll the live transcript to the newest recognized text.
This commit is contained in:
@@ -765,6 +765,12 @@ private final class ManagedVolcengineASRSession: CloudASRStreamingSession, @unch
|
||||
}
|
||||
}
|
||||
|
||||
var acceptsAudio: Bool {
|
||||
lock.withLock { state in
|
||||
!state.cancelled && state.failure == nil && !state.receiveClosed && !state.endSent
|
||||
}
|
||||
}
|
||||
|
||||
func cancel() {
|
||||
let changed = lock.withLock { state -> Bool in
|
||||
guard !state.cancelled else { return false }
|
||||
|
||||
Reference in New Issue
Block a user