GoogleChrome / omnitone

Spatial Audio Rendering on the web.
https://googlechrome.github.io/omnitone
Apache License 2.0
852 stars 114 forks source link

Display audio download progress #107

Open gabrielwolf opened 4 years ago

gabrielwolf commented 4 years ago

As higher order Ambisonics files are big in size, I want the user to see the download progress.

Maybe the function BufferList.prototype._launchAsyncLoadTaskXHR has to be extended for this.

I added the following lines right before xhr.send(); (line 282 in omnitone.esm.js at the time of writing)

  xhr.onprogress = function(event) {
    if (event.lengthComputable) {
      Utils.log(`Received ${event.loaded} of ${event.total} bytes`);
    } else {
      Utils.log(`Received ${event.loaded} bytes`); // no Content-Length
    }
  };

The result is a console display of the desired values.

Has anybody advice on how to read event.loaded and event.total outside of the Omnitone library?

Thank you in advance!