I'm trying to create a bar visualizer, and I'm getting stuck at this step. I keep getting the following error for this line of code:
Uncaught TypeError: Failed to execute 'createMediaElementSource' on 'AudioContext': parameter 1 is not of type 'HTMLMediaElement'. at visulizer.js:3
All and any answers would be appreciated.
<script>
const audio = document.querySelector('audio');
const ctx = new AudioContext();
const audioSource = ctx.createMediaElementSource(audio)
const analyzer = ctx.createAnalyser();
audioSource.connect(analyzer);
audioSource.connect(ctx.destination);
const frequencyData = new Uint8Array(analyzer.frequencyBinCount);
analyzer.getByteFrequencyData(frequencyData);
console.log(frequencyData);
</script>
<div class="player">
<audio src="http://185.215.215.177/radio/8000/radio.mp3" id="audio" crossorigin="anonymous" autoplay></audio>
<div id="CoverBack"><img class="song-back" src="https://cdn.discordapp.com/attachments/772388273120084008/848559142334627880/unkownCover.png"></img>
</div>
<div id="Cover"><img class="coverImg" src="https://cdn.discordapp.com/attachments/772388273120084008/848559142334627880/unkownCover.png"></img>
</div>
<div class="dj">
<h3 id="change">
<Wavey</h3>
</div>
<div class="song">
<h3 id="title">Untitled</h3>
<h3 class="light" id="Artist">Artist</h3>
</div>
<div class="audio-control"><input id="vol-control" type="range" min="0" max="100" step="1" oninput="SetVolume(this.value)" onchange="SetVolume(this.value)"></input>
</div>
</div>