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

Play audio file from string in JavaScript(在JavaScript中播放字符串中的音频文件)
本文介绍了在JavaScript中播放字符串中的音频文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将mp3文件的内容另存为变量(这不是为了实用,只是为了我的一个小项目),我希望将该变量的内容作为音频文件播放。这将是一个使用类似node的简单任务,但不幸的是,我必须完全在客户端完成这项工作。

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

我对此进行了调查,但从我发现的情况来看,这似乎是做不到的。如果你们中有谁有解决方案,我将不胜感激。

推荐答案

这不太实际,因为您将在JS引擎中获得非常高的内存占用,并可能导致不必要的垃圾收集.但是可以使用Base64对MP3进行编码,然后可以将其提供给<audio>标记的src属性。

因为在这里的答案中提供base64编码的MP3是不切实际的,所以我将提供一个FIDELL: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,因为这是Audio API的预期用途。

这篇关于在JavaScript中播放字符串中的音频文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)