我想创建一个具有1个通道,1190256000长度和48000采样率的音频缓冲区。但是我在createBuffer()方法中遇到错误。请找到包含样本的小提琴。
答案 0 :(得分:0)
长度为1,190,256,000,您可能会遇到浏览器的缓冲区大小限制。如果您查看name
属性,将会看到您尝试的操作导致NotSupportedError(在Chrome中,可能与其他浏览器有所不同)。
NotSupportedError
一个或多个选项为负值或其他值无效(例如numberOfChannels高于支持的值, 或sampleRate超出标称范围)。
就像尝试较低的值一样,您会成功
window.AudioContext = window.AudioContext || window.webkitAudioContext;
audioContext = new window.AudioContext();
var buffer;
try {
audioContext.createBuffer(1, 1190256000, 48000);
} catch(e){
console.log(e.name,e.message);
}
try {
buffer = audioContext.createBuffer(1, 119025600, 48000);
console.log("success",buffer);
} catch (e) {
console.log(e.name,e.message);
}