npm 包 @nodert-win10/windows.devices.midi 使用教程

前言

在前端开发中,我们通常会涉及到和 MIDI 设备进行交互的需求。而针对 Windows 平台上的 MIDI 设备,我们可以使用 npm 包 @nodert-win10/windows.devices.midi 来实现其操作。本文将详细介绍如何使用此 npm 包,并提供示例代码和一些操作技巧。

安装

使用此 npm 包需要在 Windows 环境下进行。在项目根目录中,使用以下命令安装 npm 包:

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

同时,需要在项目中引入相关的 TypeScript / JavaScript 模块。

使用

打开 MIDI 设备

要使用 MIDI 设备,首先需要打开设备。使用 @nodert-win10/windows.devices.midi 包中的 MidiInPort 和 MidiOutPort 来打开 MIDI 输入设备和 MIDI 输出设备。

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

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

其中 devicesIds.inputIddevicesIds.outputId 分别是 MIDI 输入设备和 MIDI 输出设备的 ID。更多关于设备 ID 的内容可以见此处:Get the ID of a MIDI device

MIDI 输入

打开 MIDI 输入设备后,我们可以通过不断检查 MIDI 数据来获取设备输入的内容。

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

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

在发生 MIDI 数据输入时,onmidiinmessage 会被调用。我们可以从 args 中获取到时间戳和 MIDI 数据。

MIDI 输出

打开 MIDI 输出设备后,我们可以使用 write 方法将 MIDI 数据发送给设备。

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

其中 msgByte1、msgByte2 和 msgByte3 是 MIDI 数据的三个字节。

控制信号

在使用 MIDI 设备的过程中,我们通常需要发送一些控制信号来控制设备的工作状态。使用 @nodert-win10/windows.devices.midi 包,我们可以轻松的发送这些信号。

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

其中 channel 为信道,ccCode 为控制码,value 为值。更多关于 MIDI 控制信号的内容可以见此处:Control Change Message Chart

除了普通的控制信号外,还有一些特殊的信号可以用来控制设备的功能。

SysEx

SysEx 是一种 MIDI 系统引导消息,它适用于不同厂商自己的系统级消息传输。

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

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

Timing Clocks

Timing Clocks 是一种系统消息,它用于 MIDI 同步。

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

Start 和 Stop

Start 和 Stop 是两种系统消息,用于 MIDI 同步。

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

总结

本文介绍了如何使用 npm 包 @nodert-win10/windows.devices.midi,它可以帮助我们实现与 Windows 平台上的 MIDI 设备进行交互的功能。同时介绍了 MIDI 设备的输入、输出、控制信号等操作方法,并给出了一些常见的使用示例代码。希望这篇文章对前端开发人员有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066bce967216659e244abc


猜你喜欢

  • npm 包 internet.min.js 使用教程

    前言 在日常的前端开发工作中,我们经常需要用到一些工具或者第三方组件来优化我们的开发效率或者增强项目的功能。而 npm 是一个非常方便的包管理器,可以让我们轻松地安装、管理和使用这些工具或组件。

    4 年前
  • npm 包 interval.min.js 使用教程

    在前端开发中,经常会遇到需要实现一定时间间隔内定时执行某个操作的情况。而手写定时器代码工作量大、易出错、跨浏览器适配成本高等问题,极大地限制了我们的效率和开发体验。

    4 年前
  • npm 包 io.min.js 使用教程

    在前端开发中,Socket.IO 是一个非常流行的 WebSocket 库,它可以让我们在浏览器端实现实时通信。而 io.min.js 就是 Socket.IO 的浏览器侧客户端库,是一个基于 Jav...

    4 年前
  • npm 包 ip.min.js 使用教程

    在前端开发中,经常需要获取用户的 IP 地址。而在 JavaScript 中,获取 IP 地址需要借助一些工具和技术,如使用浏览器 API 或者第三方库。在这篇文章中,我将向大家介绍一款使用 npm ...

    4 年前
  • npm 包 isogram.min.js 使用教程

    简介 isogram.min.js 是一款用于判断字符串是否为 isogram 的 npm 包。isogram 是指只包含不重复字母的单词或短语。使用该包可以方便地实现 isogram 判断。

    4 年前
  • npm 包 iso.min.js 使用教程

    简介 iso.min.js 是一个能够将 ISO 日期格式转换为本地日期格式的 JavaScript 库,其能够帮助前端开发人员快速的将 ISO 格式转换成需要的格式。

    4 年前
  • npm 包 issue.min.js 使用教程

    1. 介绍 issue.min.js 是一个用于处理 GitHub issues 的 npm 包,支持用户通过 JavaScript 代码的方式来添加、关闭、查询和编辑 GitHub issues。

    4 年前
  • npm 包 item.min.js 使用教程

    前言 随着现代浏览器不断的升级更新,前端技术也在不断的发展,而 npm 是一个非常常用的工具,可帮助我们快速方便的集成一些常用的 JavaScript 库。在本文中,我们将介绍一个名为 item.mi...

    4 年前
  • npm 包 iterator.min.js 使用教程

    简介 iterator.min.js 是一个专门为 JavaScript 数组、集合等数据类型提供迭代器的工具库。它拥有丰富的 API,可帮助开发者轻松完成数据遍历和处理任务。

    4 年前
  • NPM 包 turbo.min.js 使用教程

    NPM 包 turbo.min.js 是一个快速加载网页的库。它可以在页面加载时异步请求图片,背景图和字体等对象,并优化网页的速度。在这篇文章中,我们将详细介绍如何使用 turbo.min.js。

    4 年前
  • npm 包 tv.min.js 使用教程

    什么是 tv.min.js? tv.min.js 是一款基于 WebGL 开发的 3D 引擎库,它可以让前端开发者快速实现 3D 场景渲染,开发高质量的 3D 游戏或应用。

    4 年前
  • npm 包 try.min.js 使用教程

    在前端开发中,我们经常需要测试一些 JavaScript 代码,并观察其效果。有时候,我们需要实时更新代码,以便快速了解运行结果。为了帮助我们实现这个目标,有一个非常好用的 npm 包叫做 try.m...

    4 年前
  • npm 包 ui.min.js 使用教程

    在前端开发中,我们经常需要使用许多库和框架来简化开发过程,提高开发效率。其中,npm (Node Package Manager) 是一个非常流行的包管理工具,它提供了海量的开源组件和工具库供我们使用...

    4 年前
  • npm 包 type.min.js 使用教程

    在前端开发中,数据类型判断是非常重要的一部分。当我们需要对某个变量进行操作时需要先确定它的数据类型,然后再进行相关操作,这时 type.min.js 就能够帮我们节省很多时间。

    4 年前
  • npm 包 twitter.min.js 使用教程

    Twitter 是全球最大的社交网络之一,拥有海量用户和数据。Twitter 提供了丰富的 API 接口,以方便开发者获取与处理 Twitter 数据。在本文中,我们将介绍一个 npm 包 twitt...

    4 年前
  • npm 包 ultra.min.js 使用教程

    1. 什么是 ultra.min.js? ultra.min.js 是一个轻量级 JavaScript 库,它封装了一些基础的 DOM 操作和 HTTP 请求功能,能够帮助前端开发者更快捷地开发 We...

    4 年前
  • npm 包 unit.min.js 使用教程

    简介 在前端开发中,我们经常会需要进行单位转换或者计算。而针对这一问题,很多开发者选择使用 unit.min.js 这个 npm 包进行处理。 安装 首先,我们需要使用 npm 进行安装: --- -...

    4 年前
  • npm 包 update.min.js 使用教程

    介绍 npm 是一个 JavaScript 包管理器,可以用于发布、搜索、安装和更新 JavaScript 包,通过 npm 可以方便地管理前端项目中使用到的许多第三方库和插件。

    4 年前
  • npm包@nsisodiya/es6-mixins使用教程

    在前端开发中,我们经常会使用 JavaScript 的 ES6 新特性。而@nsisodiya/es6-mixins 这个 npm 包可以为我们提供更多的 ES6 混入(Mixin)特性,以便我们更好...

    4 年前
  • npm 包 Upgrade.min.js 使用教程

    介绍 Upgrade.min.js 是一个前端工具库,它能够自动升级您的网站或 web 应用程序。该库使用了一些最新的技术,包括 HTML5 和 WebSockets,来提供最佳的用户体验。

    4 年前

相关推荐

    暂无文章