JavaScript:Библиотеки/p5.sound/Класс p5.PeakDetect/onPeak(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 14: | Строка 14: | ||
Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее: | Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее: | ||
<syntaxhighlight lang="javascript | <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 | <syntaxhighlight lang="javascript"> | ||
onPeak(callback, [val]) | onPeak(callback, [val]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 26: | Строка 26: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
callback – название функции, которая будет вызвана при определении пика. Тип данных – функция | callback – название функции, которая будет вызвана при определении пика. Тип данных – функция | ||
val – значение, которое будет передано функции из параметра callback при определении пика. Опциональный параметр. Тип данных – объект | val – значение, которое будет передано функции из параметра callback при определении пика. Опциональный параметр. Тип данных – объект | ||
Строка 33: | Строка 33: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 41: | Строка 41: | ||
===№1=== | ===№1=== | ||
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <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 | <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 | <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();
}
});
}