介绍
meshblu-midi
是一个可以在浏览器中使用 MIDI 设备的 npm 包,基于 meshblu 平台实现,通过这个库可以方便实现 MIDI 设备在 Web 应用中的使用。
安装
可以通过 npm 直接安装:
npm install meshblu-midi --save
初始化
首先需要获取 meshblu 配置以及设备信息,可以通过 meshblu 平台申请。获取到此信息之后就可以初始化 meshblu-midi
了:
-- -------------------- ---- ------- ------ - ----------- - ---- --------------- ----- ------------- - - ----- ------- ------ ------ ------- ------ -- ----- ------------ - - ----------- ------ ----- ----- ------------ ------ ------ ---- -- ----- ----------- - --- -------------------------- --------------
这里的 deviceConfig
是可选的,但如果不配置则需要在初始化之后手动设置 midiInputs
和 midiOutputs
。
API
onMessage
方法
可以利用 meshbluMidi.onMessage(callback)
监听 Meshblu 平台的消息,例如从其他设备发来的控制信息等等:
meshbluMidi.onMessage((message) => { console.log(message); });
setMidiInputs
和 setMidiOutputs
方法
如果 deviceConfig
没有在初始化中设置 midiInputs
或 midiOutputs
,则需要手动设置:
meshbluMidi.setMidiInputs(['MIDI input id']); meshbluMidi.setMidiOutputs(['MIDI output id']);
sendMessage
方法
可以向 Meshblu 平台发送消息,例如当前设备的 MIDI 控制信息:
-- -------------------- ---- ------- ----- ------- - - ----- -------------- ----- - -------- ----- -- ------ -- -------- ----- ----- ----- --------- ---- - -- ---------------------------------
示例代码
下面是一个通过 meshblu-midi
实现的简单的 MIDI 序列播放应用,可以参考一下:
-- -------------------- ---- ------- ------ - ----------- - ---- --------------- ------ - ---- - ---- --------------- ----- ------------- - - ----- ------- ------ ------ ------- ------ -- ----- ------------ - - ----------- ------ ----- ----- ------------ ------ ------ ---- -- ----- ----------- - --- -------------------------- -------------- -- -- ---- -- ----- ------------ - ----- ----- -- - ----- -------- - ----- ----------- ----- ----------- - ----- ----------------------- ------ --- ------------------ -- -- -- ---- -- ----- ---------------- - ----- --------- -- - ----- ---- - ----- ---------------------- --- ----- - --- --------------------------- -- - -------------------------- -- - ------------ ----- ---------- ----- ---------- --------- -------------- --------- ------------- --- --- --- ----- - -------------- -- -- ------ - -------- --- --------- - -- -------------------- -- - ------------- -- - ------------------------- ----- -------------- ----- - -------- ----- -- ------ -------- ----- ----- ---------- --------- ------------- - --- -- --------- - ----------- ------------- -- - ------------------------- ----- -------------- ----- - -------- ----- -- ------- -------- ----- ----- ---------- --------- ------------- - --- -- --------- - --------- - --------------- --------- - ---------- --- -- -------------------------------------
总结
meshblu-midi
可以方便地在浏览器中使用 MIDI 设备,提供了可以发送和接收 MIDI 消息的 API。对于需要在 Web 应用中使用 MIDI 的开发者来说,是一个不错的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f3d1d8e776d08040a71