收藏
回答

getBackgroundAudioManager 手机锁屏或者熄屏时,无法播放

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug getBackgroundAudioManager 客户端 6.7.2 2.2.3

- 当前 Bug 的表现(可附上截图)


已经参照小程序官方API,在app.json中设置如下参数:

"requiredBackgroundModes": ["audio"]


但小程序后台运行时,vConsole出现如下错误:




- 预期表现

当手机锁屏或者熄屏,小程序退到后台运行时,仍然能播放音频


- 复现路径

当小程序前台运行(手机处于打开状态)时,能够播放音频;但当手机锁屏或者熄屏,小程序退到后台运行时,无法播放,并且vConsole出现上面截图的错误


最后一次编辑于  2018-08-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 晨
    2018-08-21

    小程序切后台之后不能调接口改变播放状态,看错误信息是你调用了setBackgroundAudioState

    2018-08-21
    赞同
    回复 9
    • 彭萌
      彭萌
      2018-08-21

      你好,未调用setBackgroundAudioState,请参考上面回复,谢谢!

      2018-08-21
      回复
    • 晨
      2018-08-21回复彭萌

      小程序切到后台之后不能主动开始播放,只支持前台时播放,切后台继续播放的情形

      2018-08-21
      回复
    • 彭萌
      彭萌
      2018-08-21回复

      意思是如果音频正在前台播放,切换到后台是可以继续播放的。但是小程序切换到后台之后,无法主动播放新的音频,是吗?

      请问“收款小账本”,“微信支付商户助手”如何实现小程序切换到后台后,仍能语音播报?现在我们产品也急需这个功能,烦请提供可参考的技术方案。

      谢谢!

      2018-08-21
      2
      回复
    • 晨
      2018-08-21回复彭萌

      语音播报是由微信App完成的,不是小程序直接实现的

      2018-08-21
      回复
    • 彭萌
      彭萌
      2018-08-21回复

      请问小程序有计划实现这个功能并提供API吗?我看社区里面,有这个功能需求的还非常多,而且有实际的应用场景。

      2018-08-21
      回复
    查看更多(4)
  • 是柿子啊
    是柿子啊
    2018-08-21

    你好,请提供一下能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-08-21
    赞同
    回复 1
    • 彭萌
      彭萌
      2018-08-21

      你好,我需要实现语音播报功能,使用小程序 API (websocket + getBackgroundAudioManager)实现。每当有新订单时,后台会将订单数据转换为音频,并将音频地址通过websocket传回给小程序端,小程序使用getBackgroundAudioManager 播放。


      代码片段:


      wx.onSocketMessage(function (res) {

      console.log('收到服务器语音播报地址:' + res.data)

          const backgroundAudioManager = wx.getBackgroundAudioManager()

          

          backgroundAudioManager.title = 'Test'

          backgroundAudioManager.src = res.data// 设置了 src 之后会自动播放

          backgroundAudioManager.onPlay(() => {

          console.log('开始播放收款语音')

          })

      })




      2018-08-21
      回复