base64 - 添加 HTML5 音频作为嵌入的 mp3 数据 URI

标签 base64 html5-audio data-uri

我有一个 HTML 音频元素,可以在单击时播放链接的 .mp3 文件:

<audio id="yourAudio" preload="none" onplay="playing(this);" onended="stopped(this);">
    <source src="/sandboxassets/pronunciations/esdar1e007.mp3" type="audio/mpeg">
</audio>

我不想在 HTML 源代码中显示音频文件 (/sandboxassets/pronunciations/esdar1e007.mp3) 的直接链接。有什么办法可以混淆它吗?我知道我们可以使用 base64 编码来混淆图像链接,将它们转换为数据 URI,但我不知道如何对 mp3 文件执行相同的操作(如果可能的话)。另外,这在兼容性方面是明智之举吗?

补充:就其值(value)而言,我的页面上最多可以有 5 个这样的音频元素,每个这样的元素都会加载一个大小在 8kB 到 20kB 之间的 mp3。我假设这种情况应该证明较高的文件大小与较少的 HTTP 请求之间的权衡是合理的。但如果我错了,请纠正我。

最佳答案

是的,您可以使用数据 URI 来执行此操作。只需将数据 URI 放入您的 src 值中即可。例如:

<audio controls src="data:audio/ogg;base64,XXXXXX....." />

参见this page一个工作示例

关于base64 - 添加 HTML5 音频作为嵌入的 mp3 数据 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41503766/

相关文章:

android - android中Base64中的OutOfmemory异常

html - 设置 HTML5 音频事件的粒度 'timeupdate'

javascript - 为网站构建自定义 mp3 播放器 - 不知道如何编写播放上一首歌曲、播放下一首歌曲的功能

ruby - 如何解码svg数据uri(不是base64)

html - 数据 :Application/octet-stream; 中下载文件的文件名

Python 3.5 base64解码似乎不正确?

python - 在 Python 中搜索文本的 base64 解码二进制数据

android - 如何将位图转换为 PNG,然后在 Android 中转换为 base64?

reactjs - 如何在 React/html5 中播放 wav(从 URL 加载)?

javascript - 无需 jQuery 将背景图像更改为数据 URI