收藏
回答

华为荣耀6P背景音频播放失败,提示音乐文件错误(急)

API/组件名称 终端类型 微信版本 基础库版本
wx.getBackgroundAudioManager() 客户端 6.6.1 1.7.0+


* Bug 表现是什么?预期表现是什么?

andriod 4.4.2

微信版本6.6.1

华为荣耀6P

目前遇到第一例未知BUG导致音频播放错误,用户无法正常使用


在运维中心截取到的错误大致为

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 App onHide function;at api setBackgroundAudioState fail callback function

APP-SERVICE-SDK:Can not set wx.backgroundAudio.src, background audio is preempted.;at App setOrigin function;at setTimeout callback function


* 如何复现?

在全局app.js中初始化一个BackgroundAudioManager,

点击播放任意音频出错。


* 提供一个最简复现 Demo

App({
  globalData: {
    audioCtx: null,
  },
 
  onLaunch(options) {
    // 小程序初始化
    this.globalData.audioCtx = wx.getBackgroundAudioManager();
  },
 
  // 设置原生信息封面
  setOrigin(cb) {
    setTimeout(() => {
      this.globalData.audioCtx.src = [MP3音频];
      this.globalData.audioCtx.play();
    }, 200);
  },
})

在index页面调用

const app = getApp();


tapFun() {

 app.setOrigin();

},



回答关注问题邀请回答
收藏

9 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2018-06-14

    你好,音乐文件错误播放失败的情况需要具体定位,可以提供一个可用的在线播放链接。


    运维中心截取到的错误属于正常情况,小程序不允许在后台主动播放背景音频。

    2018-06-14
    有用
    回复 4
    • \^gjy$\
      \^gjy$\
      2018-06-14

      http://p177465zo.bkt.clouddn.com/lt9p8GO5QehgFkQtHDfZhpdgLkjs

      这个音频是上图用的。

      2018-06-14
      回复
    • Tummy
      Tummy
      2018-06-14回复\^gjy$\

      自测是可以正常播放的,麻烦提供下微信号和出现问题的时间点,我拉一下日志看看。

      2018-06-14
      回复
    • \^gjy$\
      \^gjy$\
      2018-06-15回复Tummy

      太久了,客户那边也没留存微信号,只知道大概时间应该是再1月9号----1月10号之间。你们自测的时候,机型是否和我提供的数据进行测试?遇到问题的华为居多。

      2018-06-15
      回复
    • 2018-06-19回复\^gjy$\

      华为和微信不是同一个阵营的  挖个坑实属正常

      2018-06-19
      回复
  • 飞雨
    飞雨
    2019-03-29

    这个问题官方不解决么

    2019-03-29
    有用
    回复
  • ♥那些回忆
    ♥那些回忆
    2018-12-03

    同问,解决了吗

    2018-12-03
    有用
    回复 1
    • \^gjy$\
      \^gjy$\
      2018-12-03

      这贴都沉很久了,亏你能找到,7月份的时候还不行,后来封了虚拟支付这块就放弃了,毕竟知识付费在这边凉了,之后有没有好就不知道了。

      2018-12-03
      回复
  • 2018-07-13

    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 App onHide function;at api setBackgroundAudioState fail callback function

    这个错误在Android手机下拉/iPhone上拉的迷你播放器中操作暂停按钮,然后再切换上一首或下一首时,必现。

    在播放中进行切换上一首或下一首,这时是正常的。


    推断:点击迷你播放器暂停时,然后再切歌,这个时候浏览器检测到Audio其实时没有音频再播放的,因此外部操作切换,触发小程序内部进行切数据源时,就违反了浏览器自动后台播放音频的限制,造成了这个没有权限的错误。

    2018-07-13
    有用
    回复 2
    • \^gjy$\
      \^gjy$\
      2018-07-18

      嗯,看着没毛病,但是,其实最后发现,不能播放好像不是这个报错引发的。毕竟。。。华为98%出错,其他2%出错。

      2018-07-18
      回复
    • Klaus
      Klaus
      2018-09-26

      解决了吗

      2018-09-26
      回复
  • 2018-06-07

    有没有解决办法啊,遇到了同样的问题

    2018-06-07
    有用
    回复
  • 战斗
    战斗
    2018-05-31

    我也遇到这个问题,暂时用先播放一段音乐,提示用户进入后台,之后就可以正常播放了,不要在播放音乐之后再进入后台,这时候就会报这个错误

    2018-05-31
    有用
    回复
  • sptrs
    sptrs
    2018-05-07

    官方不能修复一下这个问题吗,我们也遇到了,都五月份了  这个问题还没改掉吗

    2018-05-07
    有用
    回复
  • \^gjy$\
    \^gjy$\
    2018-01-23

    并没有,做了退款处理

    2018-01-23
    有用
    回复
  • 阿白
    阿白
    2018-01-23

    解决了吗

    2018-01-23
    有用
    回复
登录 后发表内容