在不带文件的 HTML 中嵌入歌曲

Posted

技术标签:

【中文标题】在不带文件的 HTML 中嵌入歌曲【英文标题】:Embed song in HTML w/o file 【发布时间】:2021-07-10 22:27:14 【问题描述】:

我正在设计一个可以在智能手机上使用 html 和 JS 生成的迷你游戏。 它将处于脱机状态,无法访问任何文件。

所以我想知道如何在其中嵌入基本音乐和一些声音设计。

我看到了 2 个选项:

用JS制作一个声音发生器,并设计一个可以播放这个发生器的声音(类似link)

将低保真 mp3/ogg 或其他格式转换为 base64 并直接添加到 HTML (src="data:audio/mp3;base64...")

第一种方法必须是较轻的,但目前可能很难设计歌曲。对硬件来说也许不是那么轻?

第二种方法更容易使用,但由于数据量大,我不知道它是否是一个好的选择。

对其中一种方法有什么建议吗?或者你有更好的主意?

【问题讨论】:

如果您必须仅使用 HTML 文件进行分发,这些实际上只是最好的选择。 【参考方案1】:

游戏可能需要以某种方式分发到手机上,因此您应该不仅能够将 HTML 和 JS 合并到分发包中,还应该能够将其他资产文件(例如图像和声音文件)合并到分发包中。如果是这种情况,则无需尝试将音乐嵌入 HTML(选项 2)。只需发送一个 MP3 文件,其中包含您想要播放的音乐作为该软件包的一部分。

【讨论】:

感谢您的回答。但我没有可能添加那个文件。我已经可以使用第二个选项嵌入图像并且效果很好,但我不知道对于超过 10kb 的文件是否是个好主意......或者可能超过 100kb。

以上是关于在不带文件的 HTML 中嵌入歌曲的主要内容,如果未能解决你的问题,请参考以下文章

如何在不启动 Activity 的情况下使用通知中的操作

从音频文件中获取专辑封面、歌曲名称、专辑名称和艺术家姓名

阻止嵌入的 Javascript 歌曲在 Chrome 上自动播放?

音频流中的歌曲标题编码

如何在不实际播放歌曲的情况下使用“Spotify iOS”框架和授权应用程序

将一首歌曲的封面艺术批量复制到另一首(相同的文件名)