diff --git a/src/components/MicRecorder.tsx b/src/components/MicRecorder.tsx index c873166..f73c49f 100644 --- a/src/components/MicRecorder.tsx +++ b/src/components/MicRecorder.tsx @@ -22,7 +22,7 @@ const MicRecorder = (props: MicRecorderProps) => { let mediaStream: MediaStream | null = null; let audioChunks: Blob[] = []; - const preferredMimeType = "audio/webm; codecs=opus"; + const preferredMimeType = "audio/webm;codecs=opus"; const fallbackMimeType = "audio/webm"; const startRecording = async () => { @@ -49,11 +49,12 @@ const MicRecorder = (props: MicRecorderProps) => { if (!audioTrack) throw "no audio track found"; let mimeType = ""; - if (MediaRecorder.isTypeSupported(preferredMimeType)) + if (MediaRecorder.isTypeSupported(preferredMimeType)) { mimeType = preferredMimeType; - else if (MediaRecorder.isTypeSupported(fallbackMimeType)) + } else if (MediaRecorder.isTypeSupported(fallbackMimeType)) { + console.warn(`falling back to ${fallbackMimeType} for recording audio`); mimeType = fallbackMimeType; - else { + } else { console.warn( `browser does not support preffered audio / container type. falling back to whatever the browser picks`, @@ -98,6 +99,8 @@ const MicRecorder = (props: MicRecorderProps) => { type: usedMime, }); + console.info(usedMime, file.size); + addTask(props.selectedAccount(), file); audioChunks = []; }; diff --git a/src/lib/render.ts b/src/lib/render.ts index adb5751..ab7ed08 100644 --- a/src/lib/render.ts +++ b/src/lib/render.ts @@ -274,7 +274,7 @@ export const render = async (file: File, opts: RenderOptions) => { if (!audioTrack) throw "no audio track found."; if (!(await audioTrack.canDecode())) - throw "audio track cannot be decoded by browser."; + throw `audio track (${audioTrack.codec}) cannot be decoded by browser.`; const duration = opts.duration ?? (await audioTrack.computeDuration()); if (!duration) throw "couldn't get audio duration.";