+9
-2
src/components/MicRecorder.tsx
+9
-2
src/components/MicRecorder.tsx
···
22
22
let mediaStream: MediaStream | null = null;
23
23
let audioChunks: Blob[] = [];
24
24
25
-
const preferredMimeType = "audio/webm;codecs=opus";
26
-
const fallbackMimeType = "audio/webm";
25
+
const isSafari =
26
+
typeof navigator !== "undefined" &&
27
+
navigator.vendor &&
28
+
navigator.vendor.indexOf("Apple") > -1;
29
+
30
+
const preferredMimeType = isSafari
31
+
? 'audio/mp4; codecs="mp4a.40.2"'
32
+
: "audio/webm;codecs=opus";
33
+
const fallbackMimeType = isSafari ? "audio/mp4" : "audio/webm";
27
34
28
35
const startRecording = async () => {
29
36
try {