gpt4 book ai didi

javascript - 在nodejs中使用ffmpeg上传时,edge和firefox中的sharedarraybuffer错误但在chrome中没有

转载 作者:行者123 更新时间:2023-12-04 23:20:14 25 4
gpt4 key购买 nike

我在 React.js 中有以下代码,它使用 ffmpeg 转换文件:

import { createFFmpeg, fetchFile } from '@ffmpeg/ffmpeg';

const doTranscode = async () => {
setMessage('Loading ffmpeg-core.js');
await ffmpeg.load();
setMessage('Uploading file');
ffmpeg.FS('writeFile', filename, await fetchFile(file));
await ffmpeg.run('-i', filename, 'test.wav');
setMessage('Upload to manager complete. Sound file will be available and playable on the manger within 1-2 minutes.');
const data = ffmpeg.FS('readFile', 'test.wav');
setAudioSrc(URL.createObjectURL(new Blob([data.buffer], { type: 'audio/wav' })));

var file_name = prompt('What would you like to call this file?');

if (!file_name) {
file_name = Date.now()
}

(async function(){
let output = await getSoundID(customer_id, file_name);
let sound_id = output.data;
var bucket_file = new File([new Blob([data.buffer], { type: 'audio/wav' })], "sounds/" + customer_id + "/" + sound_id + ".wav");
uploadFileToS3(bucket_file);
updateSoundData(sound_id, customer_id);
})();
};

useEffect(() => {
if (file) {
doTranscode()
}
}, [file])
上面的代码在 Chrome 中运行良好,文件已成功转换。但是,当我将它带到 Firefox 或 Edge 时,我收到此错误 Unhandled Rejection (ReferenceError): SharedArrayBuffer is not defined .
我查找了这个问题,他们说我需要修改我的标题以包含以下内容:
You need to set two response headers for your document:

Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corp
不知道我会如何在我的 JS 代码中这样做?
很想听听你们的想法。

最佳答案

看起来像根据 the docs @ffmpeg/ffmpeg库仅支持具有 SharedArrayBuffer 的浏览器:

Only browsers with SharedArrayBuffer support can use ffmpeg.wasm, you can check HERE for the complete list.


上面的列表包含从版本 79 开始的 Edge 和从版本 79 开始的 Firefox。

关于javascript - 在nodejs中使用ffmpeg上传时,edge和firefox中的sharedarraybuffer错误但在chrome中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68567486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com