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

时间:2018-05-13 01:36:42

标签: javascript variables client html5-audio

我将mp3文件的内容保存为变量,(这不是实用的,仅适用于我的一个小项目),我希望将此变量的内容作为音频文件播放。这将是一个简单的任务,像节点,但不幸的是,我必须完全这样做客户端。

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

我已经研究过了,但是从我发现的情况来看,似乎无法做到这一点。如果您有任何解决方案,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

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

因为在答案中提供base64编码的MP3是不现实的,我会提供一个小提琴: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的预期用途。