Laya开发微信小游戏爬坑记录---音频问题

Laya开发微信小游戏爬坑记录—音频问题
使用Laya开发接近半年时间左右,在这里分享一下遇到的坑和一些解决方法:

音频的坑

在开发微信小游戏时,经常会出现各种错误,例如:音频播放卡顿、音频播放无效、音频突然消失;

音频播放无效

遇到这个问题的时候, 首先检查使用的音频管理器, 如果是使用Laya自带的SoundManager去开发微信游戏,难免会遇到各种问题, 建议使用微信端的API 去进行音频的管理

例子:

	this.bgm_01.src = url;
	Laya.SoundManager.playSound(this.bgm_01.src, 0);
	//可以替换为
	this.bgm_01 = wx.createInnerAudioContext();
    this.bgm_01.src = url;
    this.bgm_01.loop = true;

音频播放卡顿

音频播放卡顿,不一定是逻辑的问题,在经手的一个项目里,有一个倒计时的功能,每隔一秒,会进行一次倒计时的语音播报,在Web端和模拟器中运行,是很流畅没有问题的。但是到真机进行调试时,会出现,音频卡顿的情况。后来经过了解,并不是逻辑的问题,而是微信平台兼容的问题,现在的微信平台已经修复了音频连续播放卡顿的情况,所以,当发现只有在真机运行调试时,出现音频卡顿卡顿的情况时,除了检查自身代码逻辑,检查一下微信是否是最新版本 也是很有必要的;

音频突然消失

在进行真机调试时,从小游戏切换到后台,再切换回运行的小游戏时, 有时会出现背景音乐不再播放的问题,这时,需要在微信平台提供的onshow函数中添加调用背景音乐的逻辑

//这里的this.curret_url是在播放背景音乐的时候, 存储的背景音乐资源的地址
  playMusic_currentUrl() {
    this.bgm_01.stop();
    this.bgm_01.url = this.curret_url;
    this.bgm_01.loop = true;
    this.bgm_01.play();
}
 wx.onShow(() => {
 //这里的this是方便展示,可以为playMusic_currentUrl()所在的文件 例如 My_Demo.instance()
      this.playMusic_currentUrl();
      //例子
      //My_Demo.instance().playMusic_currentUrl();
    })

如果确认已经做了类似的音频处理, 但是仍然切换后台后, 背景音乐消失,这时应该去检查一下背景音乐的资源是否正常, 因为遇到了这样的情况, 逻辑没有问题, 通过检查发现是,音乐资源的问题, 替换一个音乐文件就可以正常播放了(主要出现在IOS的微信小游戏)。
以上三个是博主主要遇到的问题,后续文章还会有其他问题的更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值