Javascript 制作音频 blob

Javascript make audio blob

我正在测试 html 音频标签,我想 制作音频 blob url 的 ,就像 youtube 或 vimeo 所做的那样,并添加它到 "src" 开始播放音频。

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

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

非常感谢您的帮助。

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

data="data:audio/ogg;base64,T2dnUwACAAAAAAAAAADSeWyXAU9nZ1MAAAAAAAAAAAAA0nl";

1.First 删除 base64 headers(前导码)并将其解码为纯二进制形式,它位于您的 iPad 中的形式。您可以在 github 上使用 convertDataURIToBinary an excellent snippet by borismus

var binary= convertDataURIToBinary(data);

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

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

3.Now 从这个 Blob

创建 blob url
var blobUrl = URL.createObjectURL(blob);

现在就这些了,只需将 <source>src 属性替换为此 blob url.In 如果您已经拥有纯解码的二进制文件,那么您只需执行步骤 3

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