gpt4 book ai didi

javascript - 如何使用 Javascript 将上传的音频转换为 Blob?

转载 作者:行者123 更新时间:2023-12-03 01:32:55 37 4
gpt4 key购买 nike

我正在 try catch 用户上传的音频,将其转换为 Blob,然后使用 wavesurfer.js 显示波形。

我在这里遵循此说明https://bl.ocks.org/nolanlawson/62e747cea7af01542479

这是代码

// Convert audio to Blob
$('#audioFileInput').on('change', function () {
var file = $('#audioFileInput')[0].files[0];
var fileName = file.name;
var fileType = file.type;
var fileReader = new FileReader();
fileReader.onloadend = function (e) {
var arrayBuffer = e.target.result;
blobUtil.arrayBufferToBlob(arrayBuffer, fileType).then(function (blob) {
console.log('here is a blob', blob);
console.log('its size is', blob.size);
console.log('its type is', blob.type);
surfTheBlob(blob);
}).catch(console.log.bind(console));
};
fileReader.readAsArrayBuffer(file);
});

但它说
blobUtil.arrayBufferToBlob(...).then is not a function

另一个问题是,由于用户可能自己上传音频,因此音频类型可能会有所不同,预计来自 native 设备录音机。任何人都可以帮忙吗?谢谢。

最佳答案

已经找到答案了。

// Convert audio to Blob
$('#audioFileInput').on('change', function () {
var file = $('#audioFileInput')[0].files[0];
var fileName = file.name;
var fileType = file.type;
var url = URL.createObjectURL(file);
fetch(url).then(function(response) {
if(response.ok) {
return response.blob();
}
throw new Error('Network response was not ok.');
}).then(function(blob) {
surfTheBlob(blob);
}).catch(function(error) {
console.log('There has been a problem with your fetch operation: ', error.message);
});
});

干杯!

关于javascript - 如何使用 Javascript 将上传的音频转换为 Blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56096708/

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