本文主要是介绍Vue中字节流格式的 Base64编码转换为 Blob 对象保存成wav的音频文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、安装Vue组件FileSaver.js
库
npm install file-saver
2、使用
import { saveAs } from 'file-saver';const saveAudioToFile = (text) => {API({url: `/api/xxx/xxx?content=${text}`,method: "post",}).then(res => {let obj = res.data;if (obj.code === 200) {const base64Audio = obj.data.audio;const byteCharacters = atob(base64Audio);const byteArrays = [];for (let offset = 0; offset < byteCharacters.length; offset += 512) {const slice = byteCharacters.slice(offset, offset + 512);const byteNumbers = new Array(slice.length);for (let i = 0; i < slice.length; i++) {byteNumbers[i] = slice.charCodeAt(i);}const byteArray = new Uint8Array(byteNumbers);byteArrays.push(byteArray);}const blob = new Blob(byteArrays, { type: 'audio/wav' });const fileName = 'output.wav';saveAs(blob, fileName);console.log("音频已保存为 " + fileName);}}).catch(error => {console.error("保存音频失败", error);});
}
3、总结:
- Base64 解码:使用
atob
将 Base64 编码的字符串解码成字节字符。 - 字节转换:将解码后的字符转换为字节数组。
- Blob 创建:将字节数组用
Blob
封装,并指定 MIME 类型为audio/wav
。 - 保存文件:使用
FileSaver.js
的saveAs
函数保存生成的音频文件。
这样就可以将从后台获得的 Base64 编码的音频数据保存为 WAV 文件到本地。
这篇关于Vue中字节流格式的 Base64编码转换为 Blob 对象保存成wav的音频文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!