Commit a037c3f2 authored by 范雪寒's avatar 范雪寒

feat: 播放音频时暂停其他音频

parent 55b633b5
...@@ -440,15 +440,23 @@ cc.Class({ ...@@ -440,15 +440,23 @@ cc.Class({
}); });
}, },
currentPlayedAudioId: null,
stopCurrentPlayedAudio() {
if (this.currentPlayedAudioId !== null) {
cc.audioEngine.stop(this.currentPlayedAudioId);
this.currentPlayedAudioId = null;
}
},
playEffect(name, cb) { playEffect(name, cb) {
this.stopCurrentPlayedAudio();
const audioNode = cc.find(`audios/${name}`); const audioNode = cc.find(`audios/${name}`);
const audioClip = audioNode.getComponent(cc.AudioSource).clip; const audioClip = audioNode.getComponent(cc.AudioSource).clip;
const audioId = cc.audioEngine.playEffect(audioClip, false, 0.8); const audioId = cc.audioEngine.play(audioClip, false, 0.8);
this.currentPlayedAudioId = audioId;
if (cb) { if (cb) {
cc.audioEngine.setFinishCallback(audioId, cb); cc.audioEngine.setFinishCallback(audioId, cb);
} }
}, },
playAudioByUrl(audio_url, cb = null) { playAudioByUrl(audio_url, cb = null) {
if (!audio_url) { if (!audio_url) {
if (cb) { if (cb) {
...@@ -456,8 +464,10 @@ cc.Class({ ...@@ -456,8 +464,10 @@ cc.Class({
} }
return; return;
} }
this.stopCurrentPlayedAudio();
cc.assetManager.loadRemote(audio_url.toLowerCase(), (err, audioClip) => { cc.assetManager.loadRemote(audio_url.toLowerCase(), (err, audioClip) => {
const audioId = cc.audioEngine.play(audioClip, false, 0.8); const audioId = cc.audioEngine.play(audioClip, false, 0.8);
this.currentPlayedAudioId = audioId;
if (cb) { if (cb) {
cc.audioEngine.setFinishCallback(audioId, cb); cc.audioEngine.setFinishCallback(audioId, cb);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment