|
|
| async () => {
|
|
|
| if (!window.startRecording) {
|
| let recorder_js = null;
|
| let main_js = null;
|
| }
|
|
|
|
|
| async function getVideoBlobAsBase64(objectURL) {
|
| const response = await fetch(objectURL);
|
| if (!response.ok) {
|
| throw new Error('Failed to fetch video blob.');
|
| }
|
|
|
| const blob = await response.blob();
|
|
|
| const reader = new FileReader();
|
| reader.readAsDataURL(blob);
|
|
|
| return new Promise((resolve, reject) => {
|
| reader.onloadend = () => {
|
| if (reader.result) {
|
| resolve(reader.result.split(',')[1]);
|
| } else {
|
| reject('Failed to convert blob to base64.');
|
| }
|
| };
|
| });
|
| }
|
|
|
| if (window.currentState === "RECORDING") {
|
| await window.stopRecording();
|
| const base64String = await getVideoBlobAsBase64(window.videoSource);
|
| return base64String;
|
| } else {
|
| window.startRecording();
|
| return "Record";
|
| }
|
| }
|
|
|