微信小程序请求播放文件流mp3
这种文件流格式,无法通过src直接播放,要使用writeFileAPI把文件写入本地,通过src引入本地路径才可以播放。示例代码const wxAudio =wx.createInnerAudioContext({}) // 音频APIconst fs = wx.getFileSystemManager() // 文件管理器API// 保存路径,(小程序开发工具右上角 “详情”->“基本信息
·
这种文件流格式,无法通过src直接播放,要使用writeFile
API把文件写入本地,通过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()
})
点击下面链接,导入到开发者工具查看实际效果和完整代码。
更多推荐
所有评论(0)