added maxBufferLoadQueue

This commit is contained in:
SrGooglo 2023-04-12 23:13:37 +00:00
parent 6c58212abf
commit 2920dabd4b

View File

@ -45,6 +45,8 @@ export default class Player extends Core {
audioContext = new AudioContext() audioContext = new AudioContext()
static maxBufferLoadQueue = 2
bufferLoadQueue = [] bufferLoadQueue = []
bufferLoadQueueLoading = false bufferLoadQueueLoading = false
@ -342,6 +344,10 @@ export default class Player extends Core {
return false return false
} }
if (this.bufferLoadQueueLoading >= Player.maxBufferLoadQueue) {
return false
}
const audioElement = this.bufferLoadQueue.shift() const audioElement = this.bufferLoadQueue.shift()
if (audioElement.signal.aborted) { if (audioElement.signal.aborted) {
@ -532,7 +538,7 @@ export default class Player extends Core {
} }
}) })
this.enqueueLoadBuffer(instanceObj.audioElement) //this.enqueueLoadBuffer(instanceObj.audioElement)
//await this.instanciateRealtimeAnalyzerNode() //await this.instanciateRealtimeAnalyzerNode()
@ -618,6 +624,13 @@ export default class Player extends Core {
this.state.livestream = true this.state.livestream = true
} }
// enqueue preload next audio
if (this.audioQueue.length > 1) {
const nextAudio = this.audioQueue[1]
this.enqueueLoadBuffer(nextAudio.audioElement)
}
}, { once: true }) }, { once: true })
} }
@ -668,7 +681,6 @@ export default class Player extends Core {
this.state.loading = true this.state.loading = true
this.play(this.audioQueue[0]) this.play(this.audioQueue[0])
} }
next(params = {}) { next(params = {}) {
@ -762,6 +774,10 @@ export default class Player extends Core {
instance.abortController.abort() instance.abortController.abort()
} }
} }
// clear load buffer audio queue
this.loadBufferAudioQueue = []
this.bufferLoadQueueLoading = false
} }
stop() { stop() {