Egret社区
产品 Egret Engine 版本 5.2.13
复现概率 100% 平台 Windows 所有平台
复现步骤 先用await RES.getResAsync加载音乐资源,加载完后播放,后用RES.getRes获取资源,再播放
问题描述 异步已经加载的音乐资源,用RES.getRes进行播放,播放没有声音
错误代码 public async playBgSound(mp3: string, repeatNum: number = 0) {
let self = this;

if (!GameConfig.bolMusic) return;
let sound: egret.Sound = RES.getRes(mp3);
if (!sound) {
sound = await RES.getResAsync(mp3);
}
if (!sound) return;
self.stopBgSound();
self._currBgSound = new SoundInfo();
sound.type = egret.Sound.MUSIC;
self._currBgSound.sound = sound;
try {
self._currBgSound.soundChannel = sound.play(0, repeatNum);
self._currBgSound.soundChannel.volume = self._soundBgVolume;
self._currBgSound.repeatNum = repeatNum;
} catch (e) {
Logger.log(LOG_TAG.Sound, e);
}
}
BUG截图
先用await RES.getResAsync加载音乐资源,加载完后播放,后用RES.getRes获取资源,再播放
分享到 :
1 人收藏

2 个回复

倒序浏览
山猫  官方团队 | 2019-2-28 13:53:08
http://www.cnblogs.com/nowpaper/p/5453102.html你可以参考一下这个帖子
datav  初学乍练 | 2019-6-26 10:29:02
RES.getResAsync 与RES.getRes 是两个完全不同的接口,通过异步获取的资源,并不会自动存到getRes里
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部