startRecord method
Implementation
Future<bool> startRecord(Map<String, dynamic>? userCalibrationData) async {
await recorder.hasPermission();
try {
RecordConfig defaultRecordConfig = EncoderService().getRecordConfig()[0];
if (userCalibrationData != null) {
if (userCalibrationData['recordConfig'] != null) {
defaultRecordConfig = userCalibrationData['recordConfig'];
}
}
if (Platform.isAndroid) {
recorder.start(defaultRecordConfig,
path:
'/storage/emulated/0/Download/${DateTime.now().microsecondsSinceEpoch.toString()}.m4a');
} else {
final Directory tempDir = await getTemporaryDirectory();
final String tempPath = tempDir.path;
recorder.start(defaultRecordConfig,
path:
'$tempPath/${DateTime.now().microsecondsSinceEpoch.toString()}.m4a');
}
// Atualize o estado de gravação para true após iniciar a gravação
return true;
} catch (e) {
print(e);
return false;
}
}