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

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

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

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


展开全部
收起
1回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Ethan

    4人对此回答表示赞同

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

    展开
    4
    10回复
    发布于 5年前

    评论(10)

    收起评论

    • 赵俊材 2019-01-17 20:04

      恩,等官方的方案吧,我们最终也没良好解决,当同时有多个声效播放的时候,只好让某些不播

      回复
    • 周文轩 2019-01-20 00:57

      是的,程序里播放音频数同时不会超过3个,并且已经是预加载完了的。但是效率还是不理想。

      回复
    • 何加男 2019-01-21 11:39

      我们也遇到过这个问题,官方有个教程,似乎提到了同时播放的音频数不要超过10个。另外,把音频预加载一下,而不是播放的时候再加载,效率会好一点

      回复
    • 加一+1 2019-01-23 09:22

      我没法上传音频资源。

      回复
    • 姜小小 2019-01-25 20:49

      我要怎么上传音频资源?

      回复
    • Hudson 2019-01-28 00:02

      音频资源方便提供吗

      回复
    • Hudson 2019-01-29 11:16

      测试机型有iPhone7,iPhone6s,华为P20,红米3A,都会有卡顿感。安卓还会有延迟。GameObject=function(){//其他初始化this.audio=wx.createInnerAudioContext();}
      GameObject.prototype.playAudio=function(){this.audio.stop();this.audio.play();}
      vargameObj=newGameObject;
      varhitted;//碰撞检测if(hitted){gameObj.playAudio();//只要注释掉这行,就不会出现卡顿;}

      回复
    • Liam 2019-01-31 10:04

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

      回复
    • Amelia 2019-02-02 22:04

      1帧内会调用2次

      回复
    • Lily 2019-02-04 20:09

      在100ms内调用7次

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部