Как я могу рассчитывать на 1 каждый раз том> 6 - PullRequest
2 голосов
/ 18 мая 2019

Я пытаюсь сосчитать на 1 каждый раз, когда микрофон слышит щелчок пальца.

var mic;
var vol;
var count = 0;


function setup() {
  createCanvas(windowWidth, windowHeight);

  mic = new p5.AudioIn();
  mic.start();
}

function draw() {
  background('pink');

  vol = mic.getLevel(); // level is between 0 and 1
  vol = vol * 100;

  if (vol > 6) {
    count += 1;
    text(count, 60, 300);

    //if (count += 1) {
    //  vol = 0;
    //}

  } else {
    text(count, 60, 300);
  }
}  

Проблема: в моем текущем коде он продолжает отсчитывать продолжительность звука щелчков пальцем.Как я могу написать это, чтобы добавить 1 к счетчику переменных только один раз за щелчок пальца

1 Ответ

0 голосов
/ 18 мая 2019

Если вы считаете, когда громкость превышает 6, вам нужен флаг, чтобы узнать, когда он опустился ниже этого порога.

Итак, установите переменную вроде:

var waitingForVolumeIncrease = true;

Затем в вашем коде при увеличении счетчика также установите флаг в значение false.

Добавьте еще одно условие, которое проверяет, что объем меньше 6, и сбрасывает флаг в true.

Наконец, вы хотите увеличивать количество, только когда флаг установлен в значение true, поэтому вам необходимо обновить чек, чтобы убедиться, что флаг установлен в значение true.

...