audio_providers.dart 489 B

12345678910111213141516
  1. import 'package:flutter_riverpod/flutter_riverpod.dart';
  2. import 'package:asr_client/services/audio_capture_service.dart';
  3. final audioCaptureServiceProvider = Provider<AudioCaptureService>(
  4. (_) => AudioCaptureServiceImpl(),
  5. );
  6. final audioLevelProvider = StreamProvider<double>((ref) {
  7. final service = ref.watch(audioCaptureServiceProvider);
  8. ref.onDispose(() {
  9. if (service is AudioCaptureServiceImpl) {
  10. service.dispose();
  11. }
  12. });
  13. return service.audioLevelStream;
  14. });