收藏
回答

InnerAudioContext.play()第一次不能播放,再次点击就可以播放?

场景描述:小程序和APP之间通过环信IM进行聊天,ios发送了一个mp3的语音到小程序,小程序接收到的音频地址为:(例如:https://a1.easemob.com/1113201106040856/ld/chatfiles/710259a0-49c0-11eb-988f-e3320fea30ed?em-redirect=true),小程序通过创建wx.createInnerAudioContext()创建对象进行播放,第一调用play()就会执行onError(),然后再点击调用play()才能调用onPlay(),然后正常播放语音。

多次测试都是这种情况,播放成功或者失败所调用的音频地址也是一样的

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

7 个回答

  • 孤星
    孤星
    2022-10-21

    这是因为innerAudioContext.play()总是先播放缓存里上一次播放的目标,再按一次按钮才会播放src指向的目标。如果没有上一次播放的目标,那应该就是不播放了。

    我现在就碰到这个问题,能不能设定这个东西的播放优先级的呢?


    2022-10-21
    有用 1
    回复 1
    • 静心
      静心
      2023-11-20
      您好,我想问下这个问题是如何解决的呢?
      2023-11-20
      回复
  • 地球人
    地球人
    2023-12-18

    经过我的不懈努力,终于解决了此问题~

    2023-12-18
    有用
    回复 1
    • Bombs_master
      Bombs_master
      01-30
      咋解决的啊
      01-30
      回复
  • zzz
    zzz
    2022-07-19

    我是电脑上模拟器正常的 但是真机调试无法自动播放

    2022-07-19
    有用
    回复
  • 方正丶
    方正丶
    2021-12-17

    第一次点击播放的时候,设置autoplay=true,可以解决此问题

    2021-12-17
    有用
    回复
  • 朱ོ¹⁵⁰⁵²³⁶⁸⁸⁵⁵
    朱ོ¹⁵⁰⁵²³⁶⁸⁸⁵⁵
    2021-08-30

    先造这个innerAudioContext.onCanplay()看看可不可以


    2021-08-30
    有用
    回复 1
    • 曹永凯
      曹永凯
      2023-07-02
      不可以,在 oncanPlay 后 play 也有一定的概率不播放
      2023-07-02
      回复
  • 夜航星
    夜航星
    2021-08-11

    小程序音频触发play()函数时才会加载,此时并没有找到音频文件所以play()失败。再次点击时能够成功触发

    2021-08-11
    有用
    回复
  • 刁凤强
    刁凤强
    2021-06-16

    这个问题解决了没有,我也遇到了,要点击两次播放按钮才播放,并且我这边没有触发onError

    2021-06-16
    有用
    回复 1
    • ㅤ
      2023-02-12
      解决了吗
      2023-02-12
      回复
登录 后发表内容
问题标签