【问题标题】:Javascript make audio blobJavascript制作音频blob
【发布时间】:2017-03-12 15:06:45
【问题描述】:

我正在测试 html 音频标签,我想 制作音频 blob url,就像 youtube 或 vimeo 一样,并将其添加到 "src" 以开始播放音频。

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

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

非常感谢您的帮助。

【问题讨论】:

    标签: javascript html audio blob


    【解决方案1】:

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

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

    1.首先删除 base64 标头(序言)并将其解码为纯二进制形式,它所在的形式与 iPad 中的形式相同。你可以在 github 上使用 convertDataURIToBinary 一个优秀的 sn-p by borismus

    var binary= convertDataURIToBinary(data);
    

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

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

    3.现在用这个 Blob 创建 Blob url

    var blobUrl = URL.createObjectURL(blob);
    

    现在只需将<source>src 属性替换为此blob url。如果您已经拥有纯解码二进制文件,则只需执行第3 步

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-28
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 1970-01-01
      相关资源
      最近更新 更多