收藏
回答

ios 锁屏之后不能播放背景音乐

问题模块
API和组件

如题:

    官方的两个方法播放都试过了:wx.getBackgroundAudioManager()和 wx.playBackgroundAudio({})这两个方法在ios开屏的时候可以播放,但锁屏了之后就不行了,但是安卓上可以。

      项目使用的是getBackgroundAudioManager 方法:
用setInterval 重复播放时可以的(两端),但是我具体实现是在requset的回调方法里面调用BackgroundAudioManager.play()的方法,此时没有声音(锁屏时,开屏时有声音),但是onplay()的回调方法里面是可以console.log()的
请问这是什么问题?


最后一次编辑于  2017-07-01
回答关注问题邀请回答
收藏

6 个回答

  • 晨
    2017-07-05

    无法复现你的问题。为什么需要使用setInterval反复播放音乐?尝试去掉setInterval之后试试呢?

    2017-07-05
    赞同
    回复
  • oooo 👈
    oooo 👈
    2017-07-05

    回复@晨:    我简化代码测试了两种方法:如图

        (两种方法都是锁屏过一会就没了声音, 系统ios10.1.1,wechat最新)


    第一种:
    以下是手机打印的信息
    第二种:以下是手机打印的信息

    2017-07-05
    赞同
    回复
  • 晨
    2017-07-04

    通过这个代码片段我目前没有办法弄清楚你的代码逻辑。建议你先排除无关接口(如request,vibrateLong等)的干扰,只测试一下基础的播放功能看是否能够使用。然后在逐步的添加其他功能,判断下是那个功能的加入引起的bug。

    2017-07-04
    赞同
    回复
  • oooo 👈
    oooo 👈
    2017-07-04

    回复一楼: 其他ios系统(10以上),但没有声音时onError()没有打印数据,相应的onplay()打印了

    2017-07-04
    赞同
    回复
  • oooo 👈
    oooo 👈
    2017-07-04

    回复1楼
    这个方法写在app.js 里,onlauch(),不知道有没有影响 测试了几台ios ,只有系统为9.1在此方法下正常播放声音(锁屏状态)

    ~~~~~~~~~~~~~ 但是当实时通信断开时,判断成立时onPlay()有打印,但是没有声音,只有在开屏之后才继续播放声音(此时已经过了几分钟,中间和开屏时onPlay()没有执行)(断开后重连效果一样)

    2017-07-04
    赞同
    回复
  • 晨
    2017-07-04

    未成功复现,请确认下系统锁屏界面是否正确显示播放的歌曲,并提供一个具体的使用示例。另,backgroundAudioManager设置了src之后,会自动开始播放,可以不显式调用play方法。

    2017-07-04
    赞同
    回复