Javascript制作音频blob

Fra*_*ñez 8 javascript audio html5 blob

我正在测试html音频标签,我想制作音频blob网址,如youtube或vimeo,并将其添加到"src"以开始播放音频.

我一直在测试new Blob()URL.createObjectURL(),但我不知道如何使用它.

我想做的事情如下: <audio controls src"blob:null/8142a612-29ad-4220-af08-9a31c55ed078"></audio>

非常感谢你的帮助.

Vin*_*ney 20

假设你有像这样的base64编码版本的音频

data="data:audio/ogg;base64,T2dnUwACAAAAAAAAAADSeWyXAU9nZ1MAAAAAAAAAAAAA0nl";
Run Code Online (Sandbox Code Playgroud)

1.首先删除base64标头(前导码)并将其解码为纯二进制形式,它就像在iPad中一样.您可以使用convertDataURIToBinary通过完善的片段borismus GitHub上为

var binary= convertDataURIToBinary(data);
Run Code Online (Sandbox Code Playgroud)

2.现在从二进制文件创建一个Blob; 指定它的音频类型

var blob=new Blob([binary], {type : 'audio/ogg'});
Run Code Online (Sandbox Code Playgroud)

3.现在从这个Blob中创建blob url

var blobUrl = URL.createObjectURL(blob);
Run Code Online (Sandbox Code Playgroud)

这就是现在简单地替换这个blob url的src属性.<source>如果你已经有了纯解码二进制文件,那么你只需要执行第3步

https://jsfiddle.net/sanddune/uubnnr0w/