欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Vue中字节流格式的 Base64编码转换为 Blob 对象保存成wav的音频文件

Vue中字节流格式的 Base64编码转换为 Blob 对象保存成wav的音频文件

2025/3/13 2:49:28 来源:https://blog.csdn.net/m0_57731044/article/details/141424137  浏览:    关键词: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、总结:

  1. Base64 解码:使用 atob 将 Base64 编码的字符串解码成字节字符。
  2. 字节转换:将解码后的字符转换为字节数组。
  3. Blob 创建:将字节数组用 Blob 封装,并指定 MIME 类型为 audio/wav
  4. 保存文件:使用 FileSaver.js 的 saveAs 函数保存生成的音频文件。

这样就可以将从后台获得的 Base64 编码的音频数据保存为 WAV 文件到本地。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词