简介
nv14-piano 是一个基于 Web Audio API 开发的钢琴键盘库。它能够在浏览器中以非常专业的方式模拟钢琴键盘的声音。您可以使用此库来构建自己的虚拟钢琴项目,如音乐网站、在线钢琴课等等。此教程将向您介绍如何使用 nv14-piano 库。
安装
本教程假设您已经安装了 Node.js 和 npm。在安装之前,请确保您已经将 Node.js 升级到最新的 LTS 版本。
安装 nv14-piano:
npm install --save nv14-piano
使用
使用 nv14-piano 非常简单。您只需要使用 Piano
类创建一个实例即可。
import { Piano } from 'nv14-piano'; const piano = new Piano({ element: document.querySelector('#piano'), // 钢琴键盘将被渲染到此元素中 });
- 创建
Piano
实例 - 将要渲染钢琴键盘的元素传递给
element
选项
至此,您已经创建了一个钢琴键盘实例。让我们为键盘添加一些事件处理程序,以便用户单击钢琴键盘时发出声音。
-- -------------------- ---- ------- ------ - ----- - ---- ------------- ----- ----- - --- ------- -------- --------------------------------- --- ---------------- - ------ -- - -------------------- ----- ---------- --展开代码
我们已经将 onPlayNote
方法附加到 Piano
实例中。这个方法将被调用每当用户单击键盘上的一个键时。它接受一个 string 参数,该参数是用户单击的钢琴键的值。
API
Piano
类提供了一系列选项和方法来使其更加灵活和可自定义。
Piano 运行时选项
element
(HTMLElement): 此选项指定钢琴键盘应该被渲染到哪个 HTMLElement 中。octaves
(number): 此选项指定钢琴键盘应该渲染多少个八度范围内的键盘。默认值为 2。firstNote
(string): 此选项指定渲染钢琴键盘时应从哪个音符开始绘制键。默认值为 'A0'。lastNote
(string): 此选项指定渲染钢琴键盘时应在哪个音符停止绘制键。默认值为 'C8'。whiteKeyColor
(string): 此选项指定钢琴键盘白键的颜色。默认值为 '#fff'。blackKeyColor
(string): 此选项指定钢琴键盘黑键的颜色。默认值为 '#000'。activeKeysColor
(string): 此选项指定钢琴键盘上正在播放的键和悬停的键的颜色。默认值为 '#f00'。velocity
(number): 此选项指定钢琴键盘播放声音的默认速度。默认值为 0.8。releaseTime
(number): 此选项指定钢琴键盘播放声音的默认释放时间。默认值为 1。
Piano 方法
playNote
(note: string, velocity: number): 此方法将钢琴键盘上的单个音符播放为传递的 string 值。stopNote
(note: string): 此方法停止钢琴键盘上传递 string 值的单个音符。stopAllNotes
(): 此方法将停止钢琴键盘上当前播放的所有音符。
Piano 事件
onPlayNote
(note: string): 此事件将在用户单击钢琴键盘上的一个键时触发。onStopNote
(note: string): 此事件将在用户停止单击钢琴键盘上的一个键时触发。
总结
nv14-piano 是一个非常好用的 Web Audio API 钢琴键盘库。无论您是要开发一个虚拟钢琴项目,还是想制作一个在线钢琴教程,都可以使用此库。在这篇教程中,我们了解了如何安装并使用 nv14-piano 库,已经掌握了一些有关它的 API 和事件。希望这个教程能为您的项目开发提供帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f9b3d1de16d83a66de0