laya 微信小游戏 连续声音播放 异常处理

正常的声音播放很简单,但是我在微信小游戏中,快速的播放同一个声音,就会有问题,比如吃金币。最初是直接用一个声源,吃上金币就重复从头播一次,PC上测试,网页上测试都没问题,但一上真机微信小游戏,播放就不正常,只能播放一两次,而不是播放很多次。我怀疑是微信小游戏下,不能用LAYA接口,后面改成用WX的接口,还是一样有问题,最后为了解决这个问题,用了对象池,生成多个声音对象,解决这个问题,估计是微信小游戏中,不能一个声音对象在播放完前重复使用。下面是实际的代码例子。(这里用了WX的接口,按理用LAYA接口+pool,应该也是对的,没有测试)

 

//播放音效

private PlaySound(name) {

if (this.wx == null) {

Laya.SoundManager.playSound("res/Sound/" + name + ".mp3", 1, new Laya.Handler(this, this.onComplete));

} else {

var sound = laya.utils.Pool.getItem(name);

if (sound == null) {

sound = this.wx.createInnerAudioContext()

sound.src = "res/Sound/" + name + ".mp3";

sound.play();

sound.onEnded(() => {

laya.utils.Pool.recover(name, sound);

})

} else {

sound.play();

}

}

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部