📅  最后修改于: 2023-12-03 15:41:06.157000             🧑  作者: Mango
空间的颤动小部件(Spatial Vibrations Widget)是一个能够创建和操纵 FFT (快速傅里叶变换)频谱的开源小部件。该小部件可用于创建可视化效果,这些效果对于音乐和声音制作、数据可视化和科学研究非常有用。
使用 npm 安装:
npm install spatial-vibrations-widget
或者在 HTML 中添加以下代码:
<!-- 首先添加 canvas 元素 -->
<canvas id="myCanvas"></canvas>
<!-- 在 JavaScript 中初始化小部件 -->
<script src="spatial-vibrations-widget.min.js"></script>
<script>
// 初始化小部件
var spatialWidget = new SpatialVibrationsWidget({
canvas: document.getElementById('myCanvas'),
audioSource: 'path/to/audio.mp3'
});
</script>
初始化小部件时需要传递一个配置对象。
var spatialWidget = new SpatialVibrationsWidget({
canvas: document.getElementById('myCanvas'), // 必须,指定要绘制小部件的 canvas 元素
audioSource: 'path/to/audio.mp3', // 可选,一个 URL 字符串或 AudioBuffer 对象,表示要使用的音频源
... // 其他配置项
});
要更新音频,请调用小部件实例的 setAudio
方法,并传入一个字符串或 AudioBuffer 对象。
var spatialWidget = new SpatialVibrationsWidget(...);
// 将音频源更改为另一个URL
spatialWidget.setAudio('another/path/to/audio.mp3');
// 将音频源更改为 ArrayBuffer
// (请注意,对 AudioContext 有特殊的环境要求,详情请参阅 MDN 文档)
spatialWidget.setAudio(myArrayBuffer);
要更新配置选项,请调用小部件实例的 setOptions
方法,并传入一个对象,该对象包含要更新的配置选项的键和值。
var spatialWidget = new SpatialVibrationsWidget(...);
// 将颜色更改为红色
spatialWidget.setOptions({ color: 'red' });
// 将形状更改为椎体
spatialWidget.setOptions({ shape: 'cone' });
// 将旋转速度更改为 0.5
spatialWidget.setOptions({ rotationSpeed: 0.5 });
要销毁小部件,请调用小部件实例的 destroy
方法。
var spatialWidget = new SpatialVibrationsWidget(...);
// 销毁小部件
spatialWidget.destroy();
var spatialWidget = new SpatialVibrationsWidget({
canvas: document.getElementById('myCanvas'),
audioSource: 'path/to/audio.mp3',
color: 'green',
shape: 'sphere',
rotationSpeed: 0.2
});
// 将音频源更改为另一个URL
spatialWidget.setAudio('another/path/to/audio.mp3');
// 将颜色更改为红色
spatialWidget.setOptions({ color: 'red' });
// 将形状更改为椎体
spatialWidget.setOptions({ shape: 'cone' });
// 销毁小部件
spatialWidget.destroy();