我正在开展与复古网页设计相关的项目。我想嵌入并自动播放midi文件,但是:
midi播放器是否依赖于浏览器或插件? 我可以找到一种通用的替代方案吗?
我这样使用<embed>
标记:
<embed src="tune.mid" hidden="true" autostart="true" autoplay="true">
答案 0 :(得分:3)
我之前提到过这个问题,并且依赖于使用库midijs的答案。 但是,由于lib现在包含了比特币矿工,我在没有挖掘代码的情况下做了一个变种:
https://kitchwww.github.io/midi/midi.js
它可以以完全相同的方式包含和使用:
<script type='text/javascript' src='https://kitchwww.github.io/midi/midi.js'></script>
<a href="#" onClick="function(){
MIDIjs.initAll();
MIDIjs.play('path/to/yoursong.midi');}">Play My Song</a>
编辑:更新以包含要在用户手势上调用的init函数,因为现在必须从一个音频启动所有音频。
答案 1 :(得分:1)
是的, embed 标签是为插件保留的,Mobile Safari不支持。
查看大多数浏览器都支持的HTML5 audio代码。
但请不要在网页上播放音乐......这很烦人 - 大多数人都会听音乐,关闭扬声器,或者在办公室。
答案 2 :(得分:1)
随着时间的推移,浏览器不再支持播放MIDI文件。您可能想尝试MIDI.js,这是一个基于JavaScript的跨浏览器库。
将MIDI.js脚本添加到您的网页:
<script type='text/javascript' src='http://www.midijs.net/lib/midi.js'></script>
然后添加一个开始播放的链接:
<a href="#" onClick="MIDIjs.play('path/to/yoursong.midi');">Play My Song</a>
请查看http://www.midijs.net了解详情。
答案 3 :(得分:0)
使用HTML5音频标记。但就像我之前的那个人说的那样......请在你的页面上重新考虑音乐。
<audio src="example.midi" preload="auto" autoplay="autoplay"></audio>
答案 4 :(得分:0)
你的HTML没问题。问题是一些低级浏览器失去了播放midi文件的能力。他们必须安装添加。 Real Player曾经是一个很好的解决方案,但现在他们正在推动云订阅。还有很多其他midi玩家,但用户必须安装一个。
答案 5 :(得分:0)
对于mid和kar文件,我建议使用vanBasco midi播放器作为默认播放器。请参阅http://midkar.com/blues/blues_01.html
上的来源嵌入; 嵌入src =&#34; musicfile.mid&#34; width = 144 height = 60 autostart = true repeat = false loop = false (将&#34; musicfile.mid&#34;替换为midi文件的名称)
答案 6 :(得分:-1)
嗯,这是2017年8月13日,你不知道在网页上嵌入bg midi仍然是一个谜。
事实上我很确定它甚至不能再做了(除了IE的bgsound src,它对我来说仍然可以正常工作)。
但对于Firefox和Chrome,jofeu提供的解决方案是一个很好的解决方案。
我只希望有一种方法可以嵌入,所以midi只是在页面加载时开始播放,而不必点击任何内容。我想那些日子已经过去了。