簡體   English   中英

在網頁中發送 MIDI 信息

[英]Sending MIDI messages in a Web page

如何在網頁中播放單個 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) 只使用大多數人通常在機器上安裝的東西。

使用 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 中的示例

Java 仍然可能是您最好的選擇,即使只有少數用戶禁用它。

我使用 NoScript,並且可以將站點列入白名單。 我會說,如果您提供引人注目的內容,大多數用戶可能會這樣做。

https://jazz-soft.net/demo/VirtualPiano.html有一個在線 MIDI 鋼琴的例子,它使用 Web Audio API,不需要任何特殊軟件,但是,如果啟用了 Web MIDI,它有更多功能。 頁面中包含的代碼。

發現以下內容(從意大利語翻譯)。 我會說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=

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM