【发布时间】:2017-10-27 19:22:26
【问题描述】:
我有一个 10 秒的音频流,它被编码为 base64 字符串。当附加到音频标签时,它会在 HTML 元素中正常播放。在尝试下载它时,它会下载为(损坏的?)文件,持续时间为 0:00。
var audio = document.getElementById('audio-element');
var linkTag = document.getElementById('link-element');
linkTag.href = audio.src;
linkTag.download = 'audio-file';
linkTag.click();
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<audio src="data:audio/mp3; codecs=opus;base64,GkXfo59ChoEBQveBAULy.............IiT5Q==" controls id="audio-element">
Your browser does not support the audio element
</audio>
<a href="" id="link-element">Download audio</a>
</body>
</html>
上述代码 sn-p 中的 base64 字符串无效,因为问题中不允许超过 30,000 个字符的限制。因此,我不得不修剪它。原字符串有效,播放正常,但因字数限制无法发到这里。
我想要的是从“audio/mp3”类型的 base64 编码字符串中下载准确的 mp3 文件。
如何使用纯 javascript / ES6 做到这一点?非常感谢您的见解。
【问题讨论】:
标签: javascript audio download base64 mp3