gpt4 book ai didi

javascript - 上传前验证音频文件的持续时间

转载 作者:行者123 更新时间:2023-11-30 14:26:02 25 4
gpt4 key购买 nike

是否可以在上传之前以类似于下面示例中的 file.size 的方式检查音频文件的持续时间?

handleSubmit = async event =>
event.preventDefault();

if (this.file && this.file.size > config.MAX_ATTACHMENT_SIZE) {
alert("Please pick a file smaller than" + config.MAX_ATTACHMENT_SIZE);
return;
}

最佳答案

如果我们谈论的是浏览器,是的。您可以使用 URL.createObjectURL()在你的 file , 将其用作 src对于 <audio>您创建的元素,等待元素的 canplaythrough事件,然后阅读 duration属性(property)。

事实上,该代码在我最近的回答here 中可用。 (并转载如下);它应该很容易集成到您的代码中。

function computeLength(file) {
return new Promise((resolve) => {
var objectURL = URL.createObjectURL(file);
var mySound = new Audio([objectURL]);
mySound.addEventListener(
"canplaythrough",
() => {
URL.revokeObjectURL(objectURL);
resolve({
file,
duration: mySound.duration
});
},
false,
);
});
}

关于javascript - 上传前验证音频文件的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51918459/

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