如何在网页中播放单个MIDI音符?
我知道有两种方法可以做到:
编写ActiveX控件。然后它只适用于Windows。很久以前我曾经写过ActiveX控件,但现在没有人喜欢安装它们。
编写Java小程序。如果用户已经安装了Java,但许多用户禁用了applet,那就没问题。这就是我这样做的方式,您可以在newfweiler.com上看到结果 - 如果它恰好适用于您的特定设置。你至少需要Java 5,虽然我想如果必须的话我可以在Java 1.2中重写它。 “实时音序器”和“Java声音合成器”对我不起作用;我认为您必须安装wavetables或其他东西才能使它们正常工作。
大多数用户都安装了Flash,但我查看了Flash和Flex文档,但没有看到任何与javax.sound.midi等效的内容。
有几种方法可以在网页中播放MIDI文件,您可以找到“Javascript Pianos”,只要按一个键,它就可以播放单音符MIDI文件。您不能一次播放多个音符,也不能按住键长按音符。
我正在尝试做的是相当于javax.sound.midi.Receiver.send(midiMsg,-1),只使用大多数人通常在机器上安装的内容。
答案 0 :(得分:1)
Java仍然可能是你最好的选择,即使很少有用户禁用它。
我使用NoScript,我可以将网站列入白名单。我想说,如果你提供引人注目的内容,大多数用户可能都会这样做。
答案 1 :(得分:1)
使用Web Audio API播放声音和.mid文件。请参见https://surikov.github.io/webaudiofont/examples/midiplayer.html
上的MIDI播放器示例使用Web MIDI API(Chrome支持)来监听MIDI键盘。请参见https://surikov.github.io/webaudiofont/examples/midikey.html
上的示例答案 2 :(得分:0)
发现以下内容(翻译自意大利语)。我会说Flash是要走的路。如果你想成为贫民窟,你可以获得88个左右的钢琴样本,并在时间轴上播放它们。
答案 3 :(得分:0)
https://jazz-soft.net/demo/VirtualPiano.html有一个在线MIDI钢琴的示例 它使用Web Audio API,并且不需要任何特殊软件,但是,如果启用了Web MIDI,它将具有更多功能。页面上包含的代码。