MOBILE-2314 fileuploader: Catch errors in recorder

main
Noel De Martin 2023-02-23 12:46:06 +01:00
parent b7db2507cd
commit 6d29a97e9d
1 changed files with 34 additions and 14 deletions

View File

@ -93,32 +93,48 @@ export class CoreFileUploaderAudioRecorderComponent extends CoreModalComponent<C
* Start recording. * Start recording.
*/ */
async startRecording(): Promise<void> { async startRecording(): Promise<void> {
try {
const media = await this.createMedia(); const media = await this.createMedia();
this.media$.next(media); this.media$.next(media);
media.recorder.start(); media.recorder.start();
} catch (error) {
CoreDomUtils.showErrorModal(error);
}
} }
/** /**
* Stop recording. * Stop recording.
*/ */
stopRecording(): void { stopRecording(): void {
try {
this.media$.value?.recorder.stop(); this.media$.value?.recorder.stop();
} catch (error) {
CoreDomUtils.showErrorModal(error);
}
} }
/** /**
* Stop recording. * Stop recording.
*/ */
pauseRecording(): void { pauseRecording(): void {
try {
this.media$.value?.recorder.pause(); this.media$.value?.recorder.pause();
} catch (error) {
CoreDomUtils.showErrorModal(error);
}
} }
/** /**
* Stop recording. * Stop recording.
*/ */
resumeRecording(): void { resumeRecording(): void {
try {
this.media$.value?.recorder.resume(); this.media$.value?.recorder.resume();
} catch (error) {
CoreDomUtils.showErrorModal(error);
}
} }
/** /**
@ -143,6 +159,7 @@ export class CoreFileUploaderAudioRecorderComponent extends CoreModalComponent<C
return; return;
} }
try {
const fileName = await CoreFile.getUniqueNameInFolder(CoreFileProvider.TMPFOLDER, 'recording.mp3'); const fileName = await CoreFile.getUniqueNameInFolder(CoreFileProvider.TMPFOLDER, 'recording.mp3');
const filePath = CorePath.concatenatePaths(CoreFileProvider.TMPFOLDER, fileName); const filePath = CorePath.concatenatePaths(CoreFileProvider.TMPFOLDER, fileName);
const fileEntry = await CoreFile.writeFile(filePath, this.recording.blob); const fileEntry = await CoreFile.writeFile(filePath, this.recording.blob);
@ -152,6 +169,9 @@ export class CoreFileUploaderAudioRecorderComponent extends CoreModalComponent<C
fullPath: fileEntry.toURL(), fullPath: fileEntry.toURL(),
type: 'audio/mpeg', type: 'audio/mpeg',
}); });
} catch (error) {
CoreDomUtils.showErrorModal(error);
}
} }
/** /**