// // ignore_for_file: avoid_print // import 'dart:io'; // import 'dart:math'; // import 'package:assets_audio_player/assets_audio_player.dart'; // import 'package:flutter_sound/flutter_sound.dart'; // import 'package:path_provider/path_provider.dart'; // import 'package:permission_handler/permission_handler.dart'; // import '../interfaces/interfaces.dart'; // import 'package:path/path.dart' as pathP; // import 'package:flutter/foundation.dart' show kIsWeb; // class AudioPlugin implements AudioInterface { // final _soundRecorder = FlutterSoundRecorder(); // final _soundPlayer = AssetsAudioPlayer(); // bool _isRecorderReady = false; // String? pathGlobal = ''; // @override // Future audioPauseAndResume() async { // _soundPlayer.playOrPause(); // } // @override // Future audioPlay(File audio) async { // _soundPlayer.open( // Audio.file(audio.path), // autoStart: true, // showNotification: true, // ); // } // @override // Future initSoundRecorder() async { // final microfono = await Permission.microphone.request(); // if (microfono != PermissionStatus.granted) { // throw 'Sin permiso de microfono'; // } // await _soundRecorder.openRecorder(); // _isRecorderReady = true; // await _soundRecorder.setSubscriptionDuration( // const Duration(milliseconds: 500), // ); // } // Future closeSoundRecorder() async { // await _soundRecorder.closeRecorder(); // } // @override // Future startRecordAudio() async { // print("1.-"); // if (!_isRecorderReady) return; // await Permission.microphone.request(); // if (!kIsWeb) { // await Permission.storage.request(); // await Permission.manageExternalStorage.request(); // } // print("2.-"); // final random = Random(); // final randomInt = random.nextInt(99999); // pathGlobal = '$randomInt.wav'; // print("3.-"); // if (!kIsWeb) { // pathGlobal = '/$randomInt.wav'; // String directorio = (await getApplicationDocumentsDirectory()).path; // Directory dir = // Directory(pathP.dirname(directorio + pathGlobal.toString())); // if (!dir.existsSync()) { // dir.createSync(); // } // pathGlobal = directorio + pathGlobal.toString(); // print("el global"); // print(pathGlobal); // } // print("4.-"); // await _soundRecorder.startRecorder( // codec: Codec.pcm16WAV, // numChannels: 1, // sampleRate: 44000, // toFile: pathGlobal.toString(), // ); // } // @override // Future stopRecordAudio() async { // if (!_isRecorderReady) return await Future.value(null); // final path = await _soundRecorder.stopRecorder(); // return File(pathGlobal.toString()); // } // bool isRecording() { // if (_soundRecorder.isRecording) { // return true; // } else { // return false; // } // } // Stream? recordOnProgress() { // return _soundRecorder.onProgress; // } // }