diff --git a/enjoy/src/renderer/components/medias/index.ts b/enjoy/src/renderer/components/medias/index.ts
index f57e0d14..249f2929 100644
--- a/enjoy/src/renderer/components/medias/index.ts
+++ b/enjoy/src/renderer/components/medias/index.ts
@@ -3,7 +3,6 @@ export * from "./media-caption";
export * from "./media-info-panel";
export * from "./media-recordings";
export * from "./media-current-recording";
-export * from "./media-recorder";
export * from "./media-transcription";
export * from "./media-transcription-read-button";
export * from "./media-transcription-generate-button";
diff --git a/enjoy/src/renderer/components/medias/media-current-recording.tsx b/enjoy/src/renderer/components/medias/media-current-recording.tsx
index 7ab0297d..60209915 100644
--- a/enjoy/src/renderer/components/medias/media-current-recording.tsx
+++ b/enjoy/src/renderer/components/medias/media-current-recording.tsx
@@ -4,7 +4,7 @@ import {
HotKeysSettingsProviderContext,
MediaPlayerProviderContext,
} from "@renderer/context";
-import { MediaRecorder, RecordingDetail } from "@renderer/components";
+import { RecordingDetail } from "@renderer/components";
import { renderPitchContour } from "@renderer/lib/utils";
import { extractFrequencies } from "@/utils";
import WaveSurfer from "wavesurfer.js";
@@ -46,12 +46,15 @@ import {
import { t } from "i18next";
import { formatDuration } from "@renderer/lib/utils";
import { useHotkeys } from "react-hotkeys-hook";
+import { LiveAudioVisualizer } from "react-audio-visualize";
export const MediaCurrentRecording = () => {
const {
layout,
isRecording,
- setIsRecording,
+ isPaused,
+ recordingTime,
+ mediaRecorder,
currentRecording,
renderPitchContour: renderMediaPitchContour,
regions: mediaRegions,
@@ -421,13 +424,53 @@ export const MediaCurrentRecording = () => {
}, [currentRecording, isRecording, layout?.width]);
useHotkeys(currentHotkeys.PlayOrPauseRecording, () => {
- document.getElementById("recording-play-or-pause-button")?.click();
+ const button = document.getElementById("recording-play-or-pause-button");
+ if (!button) return;
+
+ const rect = button.getBoundingClientRect();
+ const elementAtPoint = document.elementFromPoint(
+ rect.left + rect.width / 2,
+ rect.top + rect.height / 2
+ );
+ if (elementAtPoint !== button && !button.contains(elementAtPoint)) return;
+
+ button.click();
});
+
useHotkeys(currentHotkeys.PronunciationAssessment, () => {
+ if (isRecording) return;
setDetailIsOpen(!detailIsOpen);
});
- if (isRecording) return ;
+ if (isRecording || isPaused) {
+ return (
+
+
+
+
+
+ {Math.floor(recordingTime / 60)}:
+ {String(recordingTime % 60).padStart(2, "0")}
+
+
+
+
+
+
+
+ );
+ }
+
if (!currentRecording?.src)
return (
@@ -443,10 +486,7 @@ export const MediaCurrentRecording = () => {
-
+
);
@@ -494,10 +534,7 @@ export const MediaCurrentRecording = () => {
)}
-
+