xCMD_GetAudio method
Comando per la Registrazione di un Audio
Implementation
Future<File?> xCMD_GetAudio(void Function(void Function()) setState, XFDataItem xfDataItem) async {
xfDataItem.isShowDetails = true;
var idString = xfDataItem.id;
if ((xMedia_CreateAudio ?? false) || _audioRecorder!.isRecording.not()) {
xFileUI = File.fromUri(Uri.parse("${XLibStorage.filePath}/AUDIO/${itemInEdit_Clone.id},${idString},${Uuid().v4()}_.aac"));
await xFileUI!.create(recursive: true);
await _audioRecorder!.openRecorder();
await _audioRecorder!.startRecorder(toFile: xFileUI!.path);
} else {
await _audioRecorder!.stopRecorder();
_audioRecorder!.closeRecorder();
var t = await xFileUI!.readAsBytes();
await xFileUI!.writeAsBytes(t);
var res = xFileUI!.readAsBytesSync();
var xclMedia = XMediaItem(Uuid().v4(), xDocID: idString, blobURL: xFileUI!.path, payload: res, mediaType: XEnums.mediaType.audio.value);
setState(() => liMediaRAW.add(xclMedia));
}
return xFileUI;
}