📜  p5.js | getPeak()函数(1)

📅  最后修改于: 2023-12-03 15:33:21.852000             🧑  作者: Mango

p5.js | getPeak()函数

getPeak()函数是p5.js中的一个优化函数,用于获取音频中的尖峰值(peak value)。这个函数可以用于不同应用程序,例如为音频可视化的动画提供更具吸引力的效果。在这篇文章中,我们将详细介绍getPeak()函数的使用和一些注意事项。

使用方法

首先,要使用getPeak()函数,我们需要在p5.js 脚本中导入p5.sound库:

<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/p5.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/addons/p5.sound.min.js"></script>

在指定的音频文件中,我们需要创建一个p5.sound对象来加载音频:

let sound;
function preload() {
  soundFormats('mp3', 'ogg');
  sound = loadSound('path/to/sound/file');
}

一旦加载完成,我们就可以通过如下代码片段获取音频的尖峰值:

let peak = sound.getPeak();
注意事项
  • getPeak()函数只能返回单声道音频的尖峰值。
  • 尖峰值的范围是0到1之间,可以将它乘上100来以百分比显示。
  • getPeak()函数不应在draw()函数内调用,因为它需要在 sound file 准备好之后才能正常使用。可以在preload()函数内调用,或者通过按键来调用。
示例

下面是一个简单的示例,展示了如何在preload()函数中获取音频文件的尖峰值。

let sound;

function preload() {
  soundFormats('mp3', 'ogg');
  sound = loadSound('path/to/sound/file');
}

function setup() {
  createCanvas(windowWidth, windowHeight);
  background(240);
  textSize(34);
  textAlign(CENTER, CENTER);  
}

function keyPressed() {
  let peak = sound.getPeak();
  console.log("尖峰值为:" + peak);
}

function draw() {
  //...
}

当按下键盘时,控制台会输出音频文件的尖峰值。