从 JavaScript 中的字符串播放音频文件

Play audio file from string in JavaScript

我有一个mp3文件的内容保存为一个变量,(这不是为了实用,只是为了我的一个小项目),我想把这个变量的内容作为音频播放文件。这对于像节点这样的东西来说是一个简单的任务,但不幸的是我必须完全在客户端完成。

请注意我不能只将字符串的内容保存为 mp3 文件,我需要能够从变量中播放它。

我已经对此进行了调查,但据我发现,这似乎无法完成。如果你们有解决方案,我将不胜感激。

这不是很实用,因为您将在 JS 引擎中获得非常高的内存占用量,并且可能会导致不必要的垃圾收集...但这是可能的以 base64 编码 MP3,然后可以将其输入 <audio> 标签的 src 属性。

因为在这里的答案中提供 base64 编码的 MP3 是不现实的,所以我将提供 Fiddle:https://jsfiddle.net/4t6bg95z/1/

但是代码的要点可能是这样的:

var audio = document.getElementById('audio');
audio.src = "data:audio/mp3;base64,..."; //This is a base64 encoded string of an MP3 file

window.beep = function() {
    audio.play();
}

显然,为音频源提供 URL 是更好的做法,因为这是音频 API.

的预期用途