在这里插入图片描述
这种文件流格式,无法通过src直接播放,要使用writeFileAPI把文件写入本地,通过src引入本地路径才可以播放。

示例代码

const wxAudio =  wx.createInnerAudioContext({}) // 音频API
const fs = wx.getFileSystemManager() // 文件管理器API
 // 查看保存文件,(小程序开发工具右上角 “详情”->“基本信息”->“文件系统”)
const target = `${wx.env.USER_DATA_PATH}/${new Date().getTime()}.mp3`

wx.request({
	url: 'https://api/mp3/test', // 示例url
	method: 'GET',
	// 这里是重点,折腾了好久,不加的话写入文件会损坏,无法播放
	responseType: 'arraybuffer',
	success: (res) => {
		fs.writeFile({
            filePath: target ,
            data: res.data,
            encoding: 'binary',
            success: (res) => {
            	wxAudio.src = target
            }
		})
	}
})
// onCanplay监听音频进入可以播放状态的事件
wxAudio.onCanplay(() => {
	wxAudio.play()
})

点击下面链接,导入到开发者工具查看实际效果和完整代码。

代码片段:https://developers.weixin.qq.com/s/PzyaClma7Qvj

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐