audioSource.playOneShot(audioSource.clip, 1);
这个播放一次的音频,连续快速点击时候在网页端音频可以累加播放,但是如果在微信里面连续点击很快的话,问题就来了,音频就不是累加播放的,它好像一直排队,如果你连续点击十几下,等你到下一关了音频还在叮当播放,快来人救啊
微信里就直接用微信api播放试试
`let audioPool: Map<string, { audioArr: any[]; count: number }> = new Map();
function playAudio(audioSource: AudioSource) {
if (!audioSource) return;
//@ts-ignore
let lastSetClip = audioSource._lastSetClip;
if (!lastSetClip) return;
let url: string = lastSetClip.nativeUrl;
let data = audioPool.get(url);
if (!data) {
data = {
audioArr: [],
count: 0,
};
audioPool.set(url, data);
}
let audioArr = data.audioArr;
let count:number = data.count;
let audio = audioArr.shift();
if (!audio) {
if (count > 6) {
return;
}
count++;
data.count = count;
//@ts-ignore
audio = wx.createInnerAudioContext({
useWebAudioImplement: true,
});
audio.src = url;
audio.onEnded(() => {
// console.log("播放完")
audioArr.push(audio);
});
}
audio.play();
}
playAudio(audioSource);`
微信同时播放的音频貌似有上限的