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

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Pixel Art Mini Meow Animated.gif Черновик


triggerRelease() [1]

Описание

Запускает стадию затухания ADSR-огибающей. Действие этой функции аналогично отпусканию клавиши пианино и последующему затуханию звука, которое будет происходить в соответствии со значениями в параметрах, отвечающих за уровень затухания и длительность затухания.

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

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

Синтаксис

triggerRelease(unit, secondsFromNow)

Параметры

unit  объект из библиотеки p5.sound или объект AudioParam из Web Audio API, громкость которого будет управляться с помощью ADSR-огибающей. Тип данных  объект
secondsFromNow  время (в секундах) после вызова функции, спустя которое будет включен заданный звуковой объект с ADSR-огибающей. Тип данных  number

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

Пример

№1

 1 var attackLevel = 1.0;
 2 var releaseLevel = 0;
 3 
 4 var attackTime = 0.001
 5 var decayTime = 0.3;
 6 var susPercent = 0.4;
 7 var releaseTime = 0.5;
 8 
 9 var env, triOsc;
10 
11 function setup() {
12   var cnv = createCanvas(100, 100);
13   background(200);
14   textAlign(CENTER);
15   text('click to play', width/2, height/2);
16    //  'кликните, чтобы начать проигрывание'
17 
18   env = new p5.Env();
19   env.setADSR(attackTime, decayTime, susPercent, releaseTime);
20   env.setRange(attackLevel, releaseLevel);
21 
22   triOsc = new p5.Oscillator('triangle');
23   triOsc.amp(env);
24   triOsc.start();
25   triOsc.freq(220);
26 
27   cnv.mousePressed(envAttack);
28 }
29 
30 function envAttack(){
31   console.log('trigger attack');
32   env.triggerAttack();
33 
34   background(0,255,0);
35   text('attack!', width/2, height/2);
36    //  'атака!'
37 }
38 
39 function mouseReleased() {
40   env.triggerRelease();
41 
42   background(200);
43   text('click to play', width/2, height/2);
44    //  'кликните, чтобы начать проигрывание'
45 }

№2

№3

См.также

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