我在开发一个移动游戏项目,有一些会重复播放的音效。
每当触发音效时,都用plus.audio.createPlayer()临时创建Player对象,然后调用play()播放,完成后设置Player对象为null。
经实际测试发现,一开始音效都没有问题,可以触发。但运行一段时间,重复触发许多次以后,所有音效就都没有声音了,并且也没有任何错误提示。
此时,如果强制关闭应用再重新打开,又可以播放音效,但持续一段时间后,再次无声。
请问这是什么问题?如何解决?很急!
问题补充:是安卓平台上发生的问题。相关代码如下:
{{{
var sound = {
list: {},
add: function(id, url) {
this.list[id] = url;
},
play: function(id) {
if(this.list[id]) {
var e = plus.audio.createPlayer(this.list[id]);
e.play(function() {
console.log(id + ' played');
e = null;
}, function(error) {
console.log(error.message);
});
} else {
console.log(id + ' is null');
}
}
};
}}}
应用启动后会通过sound.add()添加所有音效资源,游戏运行中会随时用sound.play()触发音效。
暴风 (作者)
已补充。
2014-10-21 14:02