我在内存中有一个JSON对象,其中的音频数据存储为Uint8Array:
音频内容:{类型:"缓冲区",数据:(361728)[…]}
基本上-我不确定如何将其转换回音频流并在浏览器中播放.
我试过的方法是:
<audio id="audio_player" src = ...>
<script>
let audioElement = document.getElementById("audio_player");
const blob = new Blob(trackData.audioContent.data);
const url = window.URL.createObjectURL(blob);
audioElement.src = url;
</script>
事实是,除了将数组转换为编码流之外,我还不知道需要什么才能使它工作
我正在寻找可以用来理解如何做到这一点的代码示例.
EDIT 感谢大家分享他们的代码和建议. 浏览firefox对编码不满意的建议. 我回到square 1 -将源音频编码为Base64,并在JS函数中播放它,trackData是Base64数据.
var audio = new Audio("data:audio/mp3;base64," + trackData);
audio.play();