User Interface medium complexity mobile
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Stateful widget that manages the full recording lifecycle: microphone permission requests, animated waveform feedback during active recognition, and accessible error states. Displays start/stop controls and communicates recording status to the parent Speech Input Widget through callbacks.

Feature: Speech-to-Text Input

voice-recording-control

Responsibilities

  • Request and handle microphone permission via permission_handler
  • Display animated waveform during active speech recognition
  • Surface accessible error messages for no-permission, no-speech, and timeout states
  • Emit start/stop events to trigger speech recognition

Interfaces

startRecording()
stopRecording()
cancelRecording()
onPermissionDenied(VoidCallback callback)
onNoSpeechDetected(VoidCallback callback)
onRecognitionTimeout(VoidCallback callback)
onStatusChanged(RecordingStatus status)
buildWaveformAnimation()
requestMicrophonePermission()