如何在我的html/php页面中播放midi文件
现在我上网并获得了许多简单的嵌入代码,就像我下面给出的那样
<EMBED SRC="C:\Windows\Media\Onestop.mid" hidden=true autostart=true loop=1>
Run Code Online (Sandbox Code Playgroud)
但是我的firefox说要安装插件 - Quicktime播放器
我不认为这是绕过上述问题的方式或方法,如果你可以提出另一种方法来做到这一点,如果有的话,
谢谢...
我知道它已经有一段时间了,但这是谷歌"网站midi播放器"的首选,所以我想我会放弃一个解决方案.
我创建了一个网站,想要播放midi文件,你可以使用Javascript插件:http://www.midijs.net/
只需包括图书馆:
<script src='http://www.midijs.net/lib/midi.js'></script>
然后是你想要播放的文件: <script>MIDIjs.play('path/to.your/file.mid');</script>
重要编辑
似乎远程文件正在进行加密挖掘,这不太理想.您应该在本地存储文件并删除t("https://coinhive.com/lib/coinhive.min.js",D),或使用GitHub中的原始代码:https://github.com/babelsberg/babelsberg-js/tree/master/midijs
感谢@David de Kleer指出这一点.
使用html-midi-player,只需插入一个midi-player元素(一个自定义 HTML 元素,其工作方式与该元素非常相似audio,但适用于 MIDI 文件),就可以在网站中嵌入 MIDI 文件:
<midi-player src="jazz.mid" sound-font></midi-player>
Run Code Online (Sandbox Code Playgroud)
完整演示:
<midi-player src="https://cdn.jsdelivr.net/gh/cifkao/html-midi-player@2b12128/jazz.mid" sound-font>
</midi-player>
<!-- The following needs to be inserted somewhere on the page for the player(s) to work. -->
<script src="https://cdn.jsdelivr.net/combine/npm/tone@14.7.58,npm/@magenta/music@1.22.1/es6/core.js,npm/focus-visible@5,npm/html-midi-player@1.4.0"></script>Run Code Online (Sandbox Code Playgroud)
完全披露:我是 html-midi-player 的作者。
播放功能由 Google 的Magenta.js库提供。也可以直接使用 Magenta.js 来播放 MIDI 文件,但这需要大量的 JavaScript 编码,这就是我创建 html-midi-player 的原因。
据我所知,没有跨浏览器的方法可以做到这一点:Flash(在网页上嵌入音频时最常见的选项)无法播放 Midi 文件。
唯一的方法确实是embed方法,而其是否有效将取决于用户的浏览器是如何设置的。必须安装可以处理该文件的插件(如 Quicktime)。如果计算机上出现“安装插件”对话框,则该对话框将无法运行。
我认为唯一明智的方法是将这些 Midis 转换为 MP3 文件。