我目前正在尝试在JavaScript中创建音频可视化工具,并且此错误不断抛出:
未捕获的TypeError:无法在执行'createMediaElementSource' “ AudioContext”:参数1的类型不是“ HTMLMediaElement”。
我不太确定如何解决该错误,我一直在互联网上寻找答案,但是似乎没有任何帮助。
当您点击播放时,音乐确实会播放,但是我需要我的可视化器接受来自音频元素的数据,以便我可以使用一个可视化器。
This is a link to my code, you can access it by right-clicking and hitting inspect。
答案 0 :(得分:0)
这是您代码的一部分:
let audioCtx = new (window.AudioContext || window.webkitAudioContext)();
let audio = document.querySelector('song1');
let analyser = audioCtx.createAnalyser();
let source = audioCtx.createMediaElementSource(audio);
您尝试获取元素song1
,但HTML中不存在该元素。这可能是您收到此错误的原因。另外,如果您尝试按ID检索元素,则应该
let audio = document.querySelector('#song1');
然后在您的html中
<audio id="song1" controls="">
然后我检查了您还会遇到其他错误,但这可以回答您的问题。