2

如何在网页中播放单个 MIDI 音符?

我知道两种方法:

  1. 编写一个 ActiveX 控件。然后它只适用于Windows。我很久以前就写过ActiveX控件,但现在没人喜欢安装它们。

  2. 编写一个 Java 小程序。如果用户已经安装了 Java,但许多用户禁用了小程序,这没关系。我就是这样做的,您可以在 newfweiler.com 上看到结果——如果它恰好适用于您的特定设置。您至少需要 Java 5,尽管我想如果必须的话,我可以用 Java 1.2 重写它。“实时音序器”和“Java 声音合成器”对我不起作用;我认为您必须安装波表或其他东西才能使它们工作。

大多数用户都安装了 Flash,但我查看了 Flash 和 Flex 文档并没有看到任何与 javax.sound.midi 等效的内容。

有几种方法可以在网页中播放 MIDI 文件,您可以找到“Javascript Pianos”,它可以在您按下一个键时播放一个单音符的 MIDI 文件。您不能同时弹奏多个音符或按住键长音符。

我要做的是等效于 javax.sound.midi.Receiver.send(midiMsg, -1) 只使用大多数人通常在机器上安装的东西。

4

4 回答 4

2

使用 Web Audio API 播放声音和 .mid-files。请参阅https://surikov.github.io/webaudiofont/examples/midiplayer.html中的 MIDI 播放器示例

使用 Web MIDI API(Chrome 支持)来听 MIDI 键盘。请参阅https://surikov.github.io/webaudiofont/examples/midikey.html中的示例

于 2018-09-28T09:08:05.470 回答
1

Java 仍然可能是您最好的选择,即使有少数用户禁用它。

我使用 NoScript,我可以将网站列入白名单。我想说,如果您提供引人注目的内容,大多数用户可能也会这样做。

于 2009-05-30T03:54:50.360 回答
0

找到以下内容(翻译自意大利语)。我会说Flash是要走的路。如果您想成为贫民区,您只需获取 88 个左右的钢琴样本,然后根据时间线播放它们。

http://translate.google.com/translate?prev=hp&hl=en&js=n&u=http%3A%2F%2Fflash.html.it%2Fguide%2Flezione%2F2936%2Fmidi-player%2F&sl=it&tl=en&history_state0=

于 2009-05-30T04:22:19.493 回答
0

在https://jazz-soft.net/demo/VirtualPiano.html有一个在线 MIDI 钢琴的例子。 它使用 Web Audio API,不需要任何特殊的软件,但是,如果启用了 Web MIDI,它有更多功能。页面上包含的代码。

于 2020-12-16T03:29:47.503 回答