似乎很清楚,正式的 html5 音频标签旨在与 ogg 格式一起使用。
html5 音频标签是否非正式地包含 .mid (MIDI)?
这是一个有点老的问题,但它在谷歌上的排名仍然很高,所以这里有一些对上述答案的更新 - 提出问题时可能不可用的标准和工具,但可能对今天找到这个问题的人有用:
另请参阅这些问题:
尽管 MIME 类型为“audio/midi”,但 MIDI 文件不是音频……它只是一种音乐表演,没有声音。换句话说,一个 MIDI 文件存储了钢琴演奏者敲击的琴键、弹奏的时间以及弹奏的力度,但没有实际的钢琴声音。您必须通过带有钢琴声音的采样器来播放音乐,就像您必须通过自动钢琴演奏钢琴卷一样。Apple QuickTime 7 内置了这样的采样器,但我不知道 QuickTime X 是否有。无论如何,您必须使用嵌入标签,它不能通过音频标签工作。
似乎很清楚,正式的 html5 音频标签旨在与 ogg 格式一起使用。
不是。HTML5 是一种标记标准。它根本没有解决音频标准化问题。换句话说,它告诉你如何编码标记,而不是如何编码音频。过去 20 年来,ISO 的运动图像专家组完成了音频标准化工作。当前的音频标准是MPEG-4 AAC(audio/mp4),之前的标准是MPEG-2 MP3(audio/mp3)。如果您要将标记标准化为 W3C HTML5 规范,那么您应该将您的音频标准化为 ISO MPEG-4 规范。否则,只需忽略所有标准并使用您喜欢的任何标记和音频,并制作只有您可以看到的内容。所有 PC 和手机都支持开箱即用的 HTML5 和 MPEG-4。只有备用浏览器会阻止访问用户的硬件 MPEG-4 播放器,因此,您应该通过将 MP4 音频文件作为简单链接提供给这些用户来解决这些问题,他们可以单击并在帮助应用程序中打开,例如 iTunes(大约 90% 的 PC)。或者,您可以在这些备用浏览器中调用 FlashPlayer,并在其中加载相同的标准 MP4。
至于 Ogg,它在一些备用浏览器中播放,但在用户的 RSS 阅读器、Podcast 阅读器、提供 Web 视图的本机应用程序以及用户可能看到您的网页的许多其他上下文中不播放。标准化的音频在所有这些环境中播放。因此,如果您提供 Ogg,则必须将其作为 MP4 之后的第二选择,因为 Ogg 仅在极少数情况下需要。
至少在 Chrome 10 中,它似乎不支持原始 MIDI 文件。
引用官方 Web MIDI API 页面(http://www.w3.org/TR/webmidi):
对于一些用户来说,“MIDI”已经成为标准 MIDI 文件和通用 MIDI 的代名词。这不是这个 API 的意图;简单地播放 .SMF 文件的用例不在本规范的范围内(例如,它可以被视为 HTML5 <audio> 元素支持的不同格式)。
换句话说,W3 Org 表示浏览器对简单 MIDI 文件的支持应该通过 HTML5 标签。遗憾的是,据我所知,目前还没有浏览器通过 <audio> tg 支持 MIDI。但我敢打赌,第一个这样做的人将获得很大的市场份额。例如,位于http://www.hymntime.com/tch的站点有数千个 MIDI 文件,这些文件仍然必须使用旧的 <object> 标签才能播放。即便如此,它仍然需要一个插件。尝试向非技术用户解释什么是“插件”或如何安装一个!
HTML5 规范不要求浏览器支持任何特定的编解码器或编码。有一些关于未来支持类似 MIDI 的声音行为的讨论,但不多——去年邮件列表上的这 两个帖子没有得到任何直接回应。
我知道 QuickTime 确实(或曾经?)支持 MIDI,并且 Safari 将播放 QuickTime 支持的任何音频,因此它可能已经在 Safari 中工作,但我还没有尝试过。