audioRecorderService static method
Implementation
static String audioRecorderService() {
return '''
import 'package:flutter/foundation.dart';
import 'package:path_provider/path_provider.dart';
import 'package:record/record.dart';
/// Simple audio recorder wrapper.
///
/// Usage:
/// final recorder = AudioRecorderService();
/// await recorder.startRecording();
/// final path = await recorder.stopRecording();
class AudioRecorderService {
final AudioRecorder _record = AudioRecorder();
Future<bool> hasPermission() async {
return await _record.hasPermission();
}
Future<void> startRecording() async {
if (!await hasPermission()) return;
final dir = await getTemporaryDirectory();
final filePath =
'\${dir.path}/recording_\${DateTime.now().millisecondsSinceEpoch}.m4a';
await _record.start(
RecordConfig(
encoder: AudioEncoder.aacLc,
bitRate: 128000,
sampleRate: 44100,
),
path: filePath,
);
}
Future<String?> stopRecording() async {
try {
final path = await _record.stop();
if (kDebugMode) {
debugPrint('Recorded file: \$path');
}
return path;
} catch (e) {
if (kDebugMode) {
debugPrint('Stop recording error: \$e');
}
return null;
}
}
Future<void> dispose() async {
await _record.dispose();
}
}
''';
}