startRecord method

Future<bool> startRecord(
  1. Map<String, dynamic>? userCalibrationData
)

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;
  }
}