wx.playBackgroundAudio(OBJECT)
发布于 5 年前 作者 qfan 1703 次浏览 来自 问答

wx.playBackgroundAudio({

dataUrl: http://www.youbus.com.cn/voice/exchangeFail.mp3,

title: ‘’,

coverImgUrl: ‘’,

success: function(res) {

console.log(“playBackgroundAudio success”);

},

fail: function (res) {

console.log(“playBackgroundAudio fail”);

console.log(res);

}

});

wx.stopBackgroundAudio();

只能播放一次,再次调用就播放不了

报错

playBackgroundAudio:fail jsapi has no permission

10 回复

我的问题解决了,多谢各位。

在扫码成功函数里边加个延时,延时调用播放语音。

wx.scanCode

要不然就是在这个接口中调用不成功

你是在什么时机调用的

看错误提示是,小程序还没显示就调用了

找到问题原因了,在扫码接口中不能播放。

  1. wxml 文件

  2. js 文件





就是这种情况下播放不出来

但是这个方法不好,如果手机反应慢点语音就播放不出来或者播放不完整。时间点不好掐。还是观望的诸位能不能完善一下。

未复现,给下你的appid看看

试了,这个方法在正常js里可以,但是在 wx.request 的成功返回方法里边就不行,是不是这个原因导致的不能播放啊

微信播放音频的这些方法,在 wx.request 的 success 返回方法中能调用吗?官网的那位仁兄,还在看吗

这个错误提示是说,需要小程序在前台才能开始play。

我不知道你这个代码写在哪个生命周期函数里边,要不你加个延时看看

建议你使用wx.createInnerAudioContext()这个api试试,我们项目中使用的是这个,可以设置循环播放。
wx.playBackgroundAudio(OBJECT)这个只能播放一次就结束了。

1.app.js里定义的全局变量:


2.具体页面的js文件里进行音频各个事件注册以及相关方法调用:

3.具体页面的js文件里页面卸载事件里需要停止播放:

回到顶部