[LayaAir 1.0]分享 修复webaudiosound 循环播放的声音 俩个失声问题
1.循环播放的声音长时间播放 暂停后再恢复 没有声音的问题修复
webAudioSoundChannel play方法修改
_proto = Laya.WebAudioSoundChannel.prototype;
/**
*播放声音
*/
_proto.play = function () {
// if (this.url.indexOf("music.d") != -1) {
// console.log("play", this.url)
// console.trace("play", this.url)
// }
Laya.SoundManager.addChannel(this);
this.isStopped = false;
this._clearBufferSource();
if (!this.audioBuffer) {
// console.log("audioBuffer is null",this.url)
return;
}
if (this.startTime >= this.duration) {
if (this.loops == 1) {
return this.stop();
}
this.startTime = 0;
}
2.修复 当播放未加载好的声音时 声音状态为暂停时 声音不播放的问题修复
webAudioSound 方法修改
_proto = Laya.WebAudioSound.prototype;
_proto.__playAfterLoaded = function () {
if (!this.__toPlays) return;
var i = 0,
len = 0;
var toPlays;
toPlays = this.__toPlays;
len = toPlays.length;
var tParams;
for (i = 0; i < len; i++) {
tParams = toPlays[i];
if (tParams[2]) {
if (!(tParams[2]).isStopped) {
this.play(tParams[0], tParams[1], tParams[2]);
} else {
tParams[2].audioBuffer = this.audioBuffer;
}
}
}
this.__toPlays.length = 0;
}
webAudioSoundChannel play方法修改
_proto = Laya.WebAudioSoundChannel.prototype;
/**
*播放声音
*/
_proto.play = function () {
// if (this.url.indexOf("music.d") != -1) {
// console.log("play", this.url)
// console.trace("play", this.url)
// }
Laya.SoundManager.addChannel(this);
this.isStopped = false;
this._clearBufferSource();
if (!this.audioBuffer) {
// console.log("audioBuffer is null",this.url)
return;
}
if (this.startTime >= this.duration) {
if (this.loops == 1) {
return this.stop();
}
this.startTime = 0;
}
2.修复 当播放未加载好的声音时 声音状态为暂停时 声音不播放的问题修复
webAudioSound 方法修改
_proto = Laya.WebAudioSound.prototype;
_proto.__playAfterLoaded = function () {
if (!this.__toPlays) return;
var i = 0,
len = 0;
var toPlays;
toPlays = this.__toPlays;
len = toPlays.length;
var tParams;
for (i = 0; i < len; i++) {
tParams = toPlays[i];
if (tParams[2]) {
if (!(tParams[2]).isStopped) {
this.play(tParams[0], tParams[1], tParams[2]);
} else {
tParams[2].audioBuffer = this.audioBuffer;
}
}
}
this.__toPlays.length = 0;
}
没有找到相关结果
已邀请:
要回复问题请先登录
0 个回复