npm 包 @mohayonao/midi-device 使用教程

阅读时长 7 分钟读完

介绍

在 Web 前端应用中,与硬件打交道的场景越来越常见。而处理 MIDI 消息也不再是独属于桌面应用的领域。@mohayonao/midi-device 是一个能够让你通过 WebMIDI API 检测 MIDI 设备的 npm 包。

安装

使用 npm 安装 @mohayonao/midi-device:

使用

在你的前端应用中引入并使用 @mohayonao/midi-device:

这个例子展示了如何使用 MidiDevice.enumerate() 方法来枚举所有 MIDI 设备。在上面的代码中,promise 会返回一个 MIDI 设备信息的数组。在数组中,每个 midiDevices[index] 包含以下基本信息:

属性 类型 描述
id string 设备 id
manufacturer string 制造商
name string 设备名称
type string 设备类型 (“input”, “output”)
version string 设备的版本号,通常为“1”
state string 设备的连接状态
connection string 设备的连接类型 (“closed”, “open”, “pending”)。这些值表示设备是否被打开,并且是否成功连接到系统。
onstatechange function 设备连接状态发生变化时回调函数
addEventListener function 添加互动事件侦听器的功能。(e.g. “inputdata”, “statechange”, etc)

下面是针对 midiDevices 数组的更复杂示例:

-- -------------------- ---- -------
------ ---------- ---- ------------------------

----------------------------------------- -- -
  -------------------------------- -- -
    ----- - ----- ----- ------------- - - ----------

    -- ------
    -- ----- --- -------- -
      ----- ----------- - -
        --- --------------
        -----
        -----
        -------------
      -

      -------------------- ----------

      ------------------------- - --- -- -
        -- -------------------- --- ------- -
          ----------------------------------
          -- ---- -- ------ ----- -------- ---- ----- -------
        - ---- -- -------------------- --- --------- -
          ----------------------------------
          -- ---- -- ------ ---- ----- -------
        -
      -
    -

    -- ------
    -- ----- --- --------- -
      ----- ------------ - -
        --- --------------
        -----
        -----
        -------------
      -

      -------------------- ----------

      -------------------------- - --- -- -
        -- -------------------- --- ------- -
          ----------------------------------
          -- ---- -- ------ ----- -------- ---- ------ -------
        - ---- -- -------------------- --- --------- -
          ----------------------------------
          -- ---- -- ------ ---- ------ -------
        -
      -
    -
  --
-------------- -- -
  ---------------------- ----
--

上面的代码展示了如何在 Web 应用中检测 MIDI 设备,并针对输入和输出设备可分别进行不同的事件处理。

总结一下,使用 @mohayonao/midi-device 可以:

  • 进行多种对 MIDI 设备的检测
  • 灵活处理应用程序所需的事件
  • 熟练掌握调试技巧来进一步加强对 Web MIDI API 及其应用的理解。

参考文献:

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bcc967216659e2447ba

纠错
反馈