Javascript make audio blob

Multi tool use
Javascript make audio blob
I am testing the html audio tag and I would like to make audio blob url's, like youtube or vimeo does, and add it to the "src" to start playing the audio.
I've been testing with new Blob()
and URL.createObjectURL()
but I don't know how to use it.
new Blob()
URL.createObjectURL()
I would like to do something like:<audio controls src"blob:null/8142a612-29ad-4220-af08-9a31c55ed078"></audio>
<audio controls src"blob:null/8142a612-29ad-4220-af08-9a31c55ed078"></audio>
I would greatly appreciate your help.
1 Answer
1
Suppose you have base64 encoded version of audio like this
data="data:audio/ogg;base64,T2dnUwACAAAAAAAAAADSeWyXAU9nZ1MAAAAAAAAAAAAA0nl";
1.First remove the base64 headers (preamble) and decode it to pure binary form, the form it lies in as in your iPad. You can use convertDataURIToBinary an excellent snippet by borismus on github for that
var binary= convertDataURIToBinary(data);
2.Now create a Blob from the binary; specifying the type of audio it is
var blob=new Blob([binary], {type : 'audio/ogg'});
3.Now create blob url out of this Blob
var blobUrl = URL.createObjectURL(blob);
That's all now simply replace src
attribute of <source>
to this blob url.In case you already have the pure decoded binary then you just do step 3
src
<source>
https://jsfiddle.net/sanddune/uubnnr0w/
@Francisco Nuñez update the answer for you
– Viney
Nov 15 '16 at 10:17
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.
Can I achieve that effect without using "input"?
– Francisco Nuñez
Oct 31 '16 at 19:04