收藏
回答

小游戏音频使用求解

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小游戏 Bug InnerAudioContext.play 客户端 6.6.7 1.9.98

求使用微信小游戏音频接口的正确使用方式。

我有一段短音频(<1s)需要实时播放,并且会连续播放数次,但是在调用小游戏音频接口时,使用 InnerAudioContext.play() 会导致游戏卡顿(iPhone 7),屏蔽该接口调用后一切正常;其次在安卓平台上还会出现延迟播放的情况,这会导致画面音频不同步。

PS. 使用performance测量,接口调用时间最长能达到4ms。

求解答,我要怎么解决这两个问题。


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

2 个回答

  • Special
    Special
    2018-06-11

    想问一下 InnerAudioContext.play()  会调用几次?

    2018-06-11
    赞同
    回复 10
    • Lv0
      Lv0
      2018-06-11

      在100ms内调用 7 次

      2018-06-11
      回复
    • Lv0
      Lv0
      2018-06-11

      1帧内会调用2次

      2018-06-11
      回复
    • Special
      Special
      2018-06-11

      能给我提供的代码片段么,顺便给一下会卡的 iOS 机型

      2018-06-11
      回复
    • Lv0
      Lv0
      2018-06-11回复Special

      测试机型有 iPhone 7,iPhone 6s,华为P20,红米3A,都会有卡顿感。安卓还会有延迟。

      GameObject = function() {
          // 其他初始化
          this.audio = wx.createInnerAudioContext();
      }

      GameObject.prototype.playAudio = function() {
          this.audio.stop();
          this.audio.play();
      }

      var gameObj = new GameObject;

      var hitted;
      // 碰撞检测
      if (hitted) {
          gameObj.playAudio();  // 只要注释掉这行,就不会出现卡顿;
      }

      2018-06-11
      回复
    • Special
      Special
      2018-06-11回复Lv0

      音频资源方便提供吗

      2018-06-11
      回复
    查看更多(5)
  • jiandonglin
    jiandonglin
    02-21

    你好,关于安卓平台播放卡顿和播放延时的问题,我们在7.0.3已经有解决方案,已经上线中,目前正在灰度中

    02-21
    赞同
    回复