一般来说,我对Web Audio API和Java脚本还很陌生,因此对于某些人来说这似乎很愚蠢,但我正在尝试在JavaScript画布中创建基本的音频可视化工具。
我在音频上下文方面遇到了问题,因此将分析仪连接到音频源是本地存储的mp3文件。 'source.connect()'显然不是一个函数,但是我确实从Web Audio API指南中的https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Visualizations_with_Web_Audio_API复制了语法。
function SetUpAudio()
{
let audio = document.createElement('audio');
audio.src = 'never let u go master 3.mp3';
let source = audio.src
audio.controls = 'true';
document.body.appendChild(audio);
audio.style.width = window.innerWidth + 'px';
let audioCtx = new (window.AudioContext)();
let analyser = audioCtx.createAnalyser();
source.connect(analyser);
audio.play();
}
这是出现的错误:
未捕获的TypeError:source.connect不是函数
答案 0 :(得分:0)
您混合了变量名称。该文档有以下示例:
source = audioCtx.createMediaStreamSource(stream);
source.connect(analyser);
但是在您的情况下,source
设置为audio.src
的值,该值只是一个字符串:'never let u go master 3.mp3'
,而不是MediaStreamSource。
如下更改:
audioCtx = new (window.AudioContext)();
let analyser = audioCtx.createAnalyser();
audioCtx.connect(analyser);
然后从那里拿走。如果您还有其他问题,请发布一个新问题。