JavaScript:Библиотеки/p5.sound/Класс p5.PeakDetect/onPeak(): различия между версиями

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


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>
<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>
</syntaxhighlight>
</syntaxhighlight>
Строка 20: Строка 20:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
onPeak(callback, [val])
onPeak(callback, [val])
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Параметры==
==Параметры==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
callback – название функции, которая будет вызвана при определении пика. Тип данных – функция
callback – название функции, которая будет вызвана при определении пика. Тип данных – функция
val – значение, которое будет передано функции из параметра callback при определении пика. Опциональный параметр. Тип данных – объект
val – значение, которое будет передано функции из параметра callback при определении пика. Опциональный параметр. Тип данных – объект
Строка 33: Строка 33:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">


</syntaxhighlight>
</syntaxhighlight>
Строка 41: Строка 41:
===№1===
===№1===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
var cnv, soundFile, fft, peakDetect;
var cnv, soundFile, fft, peakDetect;
var ellipseWidth = 0;
var ellipseWidth = 0;
Строка 91: Строка 91:
===№2===
===№2===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">


</syntaxhighlight>
</syntaxhighlight>
Строка 97: Строка 97:
===№3===
===№3===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">


</syntaxhighlight>
</syntaxhighlight>

Версия от 19:53, 23 мая 2023

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


Черновик


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

См.также

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