小程序
小游戏
企业微信
微信支付
扫描小程序码分享
小程序base64的mp3音频文件怎么播放?
const innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.src ='data:audio/mp3;base64,'+ 请求获取的base64编码的mp3格式文件;
innerAudioContext.play();
结果:播放不出来
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
完美解决了,使用getFileSystemManager、writeFile 将base64音频转为临时mp3文件地址(encoding: 'base64'),再使用getBackgroundAudioManager播放音频即可,可以跨页面播放
注:使用audio组件会存在兼容问题,部分手机播放不了,也无法跨页面播放音频
const backgroundAudioManager = wx.getBackgroundAudioManager() const audioPath = wx.env.USER_DATA_PATH + '/ordernew.mp3' const fs = wx.getFileSystemManager(); fs.writeFile({ filePath: audioPath, data: item, encoding: 'base64', success(res) { backgroundAudioManager.title = '您有新的订单!' backgroundAudioManager.src = audioPath }, })
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
请问楼主有解决方案了吗
目前来说,小程序无法播放,放弃吧。
请确保已经获得了访问网络和播放音频的权限。可以在app.json文件中添加以下配置:
{ "permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序位置相关的功能" }, "scope.recordAudio": { "desc": "你的录音信息将用于小程序录音相关的功能" } } }
然后在需要使用这些权限的地方调用wx.authorize({scope: 'scope.userLocation'})和wx.authorize({scope: 'scope.recordAudio'})进行授权。
wx.authorize({scope: 'scope.userLocation'})
wx.authorize({scope: 'scope.recordAudio'})
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
完美解决了,使用getFileSystemManager、writeFile 将base64音频转为临时mp3文件地址(encoding: 'base64'),再使用getBackgroundAudioManager播放音频即可,可以跨页面播放
注:使用audio组件会存在兼容问题,部分手机播放不了,也无法跨页面播放音频
const backgroundAudioManager = wx.getBackgroundAudioManager() const audioPath = wx.env.USER_DATA_PATH + '/ordernew.mp3' const fs = wx.getFileSystemManager(); fs.writeFile({ filePath: audioPath, data: item, encoding: 'base64', success(res) { backgroundAudioManager.title = '您有新的订单!' backgroundAudioManager.src = audioPath }, })
请问楼主有解决方案了吗
目前来说,小程序无法播放,放弃吧。
请确保已经获得了访问网络和播放音频的权限。可以在app.json文件中添加以下配置:
{ "permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序位置相关的功能" }, "scope.recordAudio": { "desc": "你的录音信息将用于小程序录音相关的功能" } } }
然后在需要使用这些权限的地方调用
wx.authorize({scope: 'scope.userLocation'})
和wx.authorize({scope: 'scope.recordAudio'})
进行授权。