This commit is contained in:
Lizandro Guarnizo
2026-01-28 13:05:36 -05:00
parent fe11a3ebb5
commit 7997ecb830
5 changed files with 169 additions and 79 deletions
+9 -3
View File
@@ -219,10 +219,16 @@ async function convertWebmToOgg(file) {
if (_ffmpegInstance._fetchFile) data = await _ffmpegInstance._fetchFile(file);
else data = new Uint8Array(await file.arrayBuffer());
_ffmpegInstance.FS('writeFile', inName, data);
await _ffmpegInstance.run('-i', inName, '-c:a', 'libopus', '-b:a', '64k', outName);
// Parámetros compatibles con WhatsApp Voice Messages:
// -c:a libopus = códec OPUS (requerido)
// -b:a 32k = bitrate bajo para mantener archivo < 512KB (ícono play)
// -ar 48000 = sample rate 48kHz (estándar OPUS)
// -ac 1 = mono (reduce tamaño)
// -vbr on = variable bitrate para mejor calidad
await _ffmpegInstance.run('-i', inName, '-c:a', 'libopus', '-b:a', '32k', '-ar', '48000', '-ac', '1', '-vbr', 'on', outName);
const outData = _ffmpegInstance.FS('readFile', outName);
const blob = new Blob([outData.buffer], { type: 'audio/ogg' });
const newFile = new File([blob], (file.name || 'audio').replace(/\.[^/.]+$/, '') + '.ogg', { type: 'audio/ogg' });
const blob = new Blob([outData.buffer], { type: 'audio/ogg; codecs=opus' });
const newFile = new File([blob], (file.name || 'audio').replace(/\.[^/.]+$/, '') + '.ogg', { type: 'audio/ogg; codecs=opus' });
return newFile;
}