JavaScript:Библиотеки/p5.sound/Класс p5.PeakDetect/onPeak()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



onPeak() [1]

Описание

Принимает два параметра: функцию, которая будет вызвана при определении пика, и значение (опциональный параметр), которое будет передано функции из первого параметра при определении пика (от «0.0» до «1.0»).

Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее:

<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>

Синтаксис

onPeak(callback, [val])

Параметры

callback  название функции, которая будет вызвана при определении пика. Тип данных  функция
val  значение, которое будет передано функции из параметра callback при определении пика. Опциональный параметр. Тип данных  объект

Возвращаемое значение

Пример

№1

var cnv, soundFile, fft, peakDetect;
var ellipseWidth = 0;

function setup() {
  cnv = createCanvas(100,100);
  textAlign(CENTER);

  soundFile = loadSound('assets/beat.mp3');
  fft = new p5.FFT();
  peakDetect = new p5.PeakDetect();

  setupSound();

  // при обнаружении пика будет вызвана функция triggerBeat():
  peakDetect.onPeak(triggerBeat);
}

function draw() {
  background(0);
  fill(255);
  text('click to play', width/2, height/2);
   //  'кликните, чтобы начать проигрывание'

  fft.analyze();
  peakDetect.update(fft);

  ellipseWidth *= 0.95;
  ellipse(width/2, height/2, ellipseWidth, ellipseWidth);
}

// эта функция будет вызвана при помощи peakDetect.onPeak():
function triggerBeat() {
  ellipseWidth = 50;
}

// кликните мышкой, чтобы запустить или остановить звук:
function setupSound() {
  cnv.mouseClicked( function() {
    if (soundFile.isPlaying() ) {
      soundFile.stop();
    } else {
      soundFile.play();
    }
  });
}

№2

№3

См.также

Внешние ссылки