audio-loader
audio-loader copied to clipboard
Loading base64 source
This works:
import play from "audio-play";
import load from "audio-loader";
load("./sounds/coin.mp3").then(audioBuffer => {
play(audioBuffer);
});
But I want to encode the AudioBuffer to a string (so it can be stored in localStorage
next time) and back again.
This does NOT work:
// Copied from audio-loader/test/support/utils.js
function arrToBase64Audio(arr) {
var data = new Buffer(arr).toString("base64");
return "data:audio/mp3;base64," + data;
}
load("./sounds/coin.mp3").then(audioBuffer => {
console.log(audioBuffer);
const asString = arrToBase64Audio(audioBuffer);
console.log(asString);
console.log(asString.length);
load(asString).then(ab => {
//console.log(ab);
play(ab);
});
});
It says:
The buffer passed to decodeAudioData contains an unknown content type.
![screen shot 2018-05-07 at 5 01 07 pm](https://user-images.githubusercontent.com/26739/39725034-7f63c918-5218-11e8-837a-cac4491a308e.png)
![screen shot 2018-05-07 at 5 02 22 pm](https://user-images.githubusercontent.com/26739/39725041-854bdb2c-5218-11e8-8a88-8ed3bd227b95.png)