Uncaught TypeError: Failed to execute 'createMediaElementSource' on 'AudioContext': parameter 1 is not of type 'HTMLMediaElement'
Uncaught TypeError: Failed to execute 'createMediaElementSource' on 'AudioContext': parameter 1 is not of type 'HTMLMediaElement'
我目前正在尝试在 JavaScript 中创建音频可视化工具,但此错误不断出现:
Uncaught TypeError: Failed to execute 'createMediaElementSource' on
'AudioContext': parameter 1 is not of type 'HTMLMediaElement'.
我不太确定如何解决这个错误,我一直在网上寻找答案,但似乎没有任何帮助。
当您点击播放时音乐会播放,但我需要我的可视化工具接受来自音频元素的数据,这样我才能拥有一个可以正常工作的可视化工具。
This is a link to my code, you can access it by right-clicking and hitting inspect.
这是您的部分代码:
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="">
然后我检查了您是否会遇到其他错误,但这回答了您的问题。
我目前正在尝试在 JavaScript 中创建音频可视化工具,但此错误不断出现:
Uncaught TypeError: Failed to execute 'createMediaElementSource' on 'AudioContext': parameter 1 is not of type 'HTMLMediaElement'.
我不太确定如何解决这个错误,我一直在网上寻找答案,但似乎没有任何帮助。
当您点击播放时音乐会播放,但我需要我的可视化工具接受来自音频元素的数据,这样我才能拥有一个可以正常工作的可视化工具。
This is a link to my code, you can access it by right-clicking and hitting inspect.
这是您的部分代码:
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="">
然后我检查了您是否会遇到其他错误,但这回答了您的问题。