import 'dart:io'; import 'package:didvan/providers/core_provider.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_vibrate/flutter_vibrate.dart'; import 'package:record/record.dart'; class DirectState extends CoreProvier { final _recorder = Record(); File? recordedFile; bool isRecording = false; void deleteRecordedFile() { recordedFile!.delete(); recordedFile = null; notifyListeners(); } Future startRecording() async { await _recorder.hasPermission(); if (!kIsWeb) { Vibrate.feedback(FeedbackType.medium); } isRecording = true; _recorder.start(); notifyListeners(); } Future stopRecording(bool sendImidiately) async { final path = await _recorder.stop(); isRecording = false; if (path == null) { notifyListeners(); return; } if (kIsWeb) { final uri = Uri.file(path); recordedFile = File.fromUri(uri); } else { recordedFile = File(path); } if (sendImidiately) { await sendMessage(); } else { notifyListeners(); } } Future sendMessage() async {} }