网页前端设计

http://www.86y.org

搜索文章

关于微信小程序 wx.getBackgroundAudioManager 的错误提示

用声音读出全文关注我吧
 2019/7/15 10:12:43 阅读次数:10024

最近鼓捣的小程序要用到背景音乐这个wx.getBackgroundAudioManager 背景音乐插件。在小程序管理后台的 【开发】有报一些关于wx.getBackgroundAudioManager的错误。所以也查了一些相关资料并没有找出原因,经过自己仔细检查代码发现了。原来是在没有开启背景音乐的情况下,进行了其它的相关操作导致。

完整错误代码如下:

setBackgroundAudioState:fail: jsapi has no permission, event=setBackgroundAudioState, runningState=background, permissionMsg=permission ok, detail=jsapi permission required playing audio but current not playing audio in background state;at api setBackgroundAudioState fail callback function Error: setBackgroundAudioState:fail: jsapi has no permission, event=setBackgroundAudioState, runningState=background, permissionMsg=permission ok, detail=jsapi permission required playing audio but current not playing audio in background state at Function.fail (WASubContext.js:1:661700) at WASubContext.js:1:360913 at v (WASubContext.js:1:361082) at WASubContext.js:1:361946

翻译过后的意思是

set背景音频状态:失败:jsapi没有权限,事件_set背景音频状态,运行状态_背景,权限Msg_权限确定,细节jsapi权限需要播放音频,但当前不播放音频在后台状态;在api设置背景音频状态故障回调函数 错误: 设置背景音频状态:失败:jsapi 没有权限,事件_set背景音频状态,运行状态_背景,权限Msg_权限确定,详细信息jsapi权限需要播放音频,但当前不播放音频在后台状态 在函数.fail (WASubContext.js:1:661700) 在 WASubContext.js:1:360913 在 v (WASubContext.js:1:361082) 在 WASubContext.js:1:361946

起初我是在APP.js中声明了公共变量 back:

const back = wx.getBackgroundAudioManager();

在进入页面的时候判断如果开启了音乐就播放背景音乐

bgmusic: function () {  
    var that=this;
    function player() {
      if (back.title !="bgmusic"){
          back.title = "bgmusic";
      }
      back.src ="音乐url";
      back.onEnded(() => {
        player();
      })
      back.onStop((e) => {
         that.stopmusic();
      });
    }
    
    if (that.globalData.bgsound) {
      player();
    }
  },
  

当页面关闭的时候调用

stopmusic:function(){
    var that=this;
     back.stop();
  }
  

发现关闭页面执行的方法中原来没判断有没有开启背景音乐,所以才会报这个错误。我加上了判断是否开启背景音乐的变量,如果播放了背景音乐才能停止背景音乐

stopmusic:function(){
    var that=this;
    if (that.globalData.bgsound) {
     back.stop();
    }
  }
  

总结:背景音乐没有播放的状态下使用了比如停止,或者暂停等事件导致 这个错误,所以必须判断是否已经播放背景音乐才能对它进行其它相关操作


大家有什么问题或技术上的想法可以在此与大家分享,也可以加入前端爱好者QQ群(141999928)一起学习进步:【幸凡前端技术交流群】
如需转载请注明出处:http://www.86y.org/art_detail.aspx?id=868【关于微信小程序 wx.getBackgroundAudioManager 的错误提示】幸凡学习网
0

如果您觉得本文的内容对您的学习有所帮助,捐赠与共勉,支付宝(左)或微信(右)

阅读全文内容关闭