跟读录音优先选 mp4 格式(Safari/Chrome 通用),解决家长端 iOS 听不到
- MediaRecorder 优先 audio/mp4,回退 webm;iOS Safari 可回放 mp4 - 清理历史 webm 录音(无法在 iOS 播放) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
673d1bc511
commit
2244f4e3ec
@@ -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 () => {
|
||||
|
||||
Reference in New Issue
Block a user