-->

Buffered audio in SoundJS

2019-09-19 02:48发布

问题:

I'm using SoundJS 0.5.2 to play audio in a music player that I'm designing for a client.

According to the documentation, I have to register or preload an audio file before I can use it, by using the registerSound method of the Sound Class and the audio cannot be played before it is fully loaded.

But how I do I go about buffering the audio while it is being played? Like wait till 10% of the audio is buffered, then play the song? Can this be accomplished using PreloadJS ?

After Googling about it, I found this thread. It says that the WebAudioPlugin does not support buffering because of the underlying technology, but the HTMLAudioPlugin can play the audio before it is fully loaded.

But it does not mention how to do that. When using HTMLAudioPlugin, do I still have to register the sound using registerSound ?

Also, when using FlashPlugin as a fallback, will the buffering still be supported by FlashPlugin?

回答1:

HTMLAudioPlugin fires the ready event when it receives the canplaythrough event from the audio tag, so it supports buffering by default (no setup required). You have to register sounds for them to start loading, either with PreloadJS or internal SoundJS methods. Buffering will work the same regardless.

Buffering is not supported by the FlashPlugin as far as I know.

Hope that helps.