我有一个 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/