diff --git a/src/app/words/word-day.tsx b/src/app/words/word-day.tsx index b0a83cb..fa1633d 100644 --- a/src/app/words/word-day.tsx +++ b/src/app/words/word-day.tsx @@ -29,7 +29,12 @@ function RecordBtn({ day, word }: { day: number; word: string }) { const start = async () => { try { const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); - const mr = new MediaRecorder(stream); + // 优先选 Safari/Chrome 都能播放的 mp4,家长端 iOS 才能回放 + const mime = + ["audio/mp4", "audio/mp4;codecs=mp4a.40.2", "audio/webm;codecs=opus", "audio/webm"].find( + (t) => typeof MediaRecorder !== "undefined" && MediaRecorder.isTypeSupported(t), + ) || ""; + const mr = new MediaRecorder(stream, mime ? { mimeType: mime } : undefined); const chunks: Blob[] = []; mr.ondataavailable = (e) => chunks.push(e.data); mr.onstop = async () => {