up
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user