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

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

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



play() [1]

Описание

Дает команду ADSR-огибающей начать работать с заданным звуковым объектом. Он задается при помощи параметра «unit», и в нем можно указать как объект из библиотеки p5.sound (например, p5.AudioIn, p5.Oscillator, p5.SoundFile и т.д.), так и объект AudioParam из Web Audio API.

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

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

Синтаксис

play(unit, [startTime], [sustainTime])

Параметры

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

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

Пример

№1

var attackLevel = 1.0;
var releaseLevel = 0;

var attackTime = 0.001
var decayTime = 0.2;
var susPercent = 0.2;
var releaseTime = 0.5;

var env, triOsc;

function setup() {
  var cnv = createCanvas(100, 100);

  textAlign(CENTER);
  text('click to play', width/2, height/2);
   //  'кликните, чтобы начать проигрывание'

  env = new p5.Env();
  env.setADSR(attackTime, decayTime, susPercent, releaseTime);
  env.setRange(attackLevel, releaseLevel);

  triOsc = new p5.Oscillator('triangle');
  triOsc.amp(env);
  triOsc.start();
  triOsc.freq(220);

  cnv.mousePressed(playEnv);
}

function playEnv(){
  // запускаем ADSR-огибающую «env» на объекте «triOsc»;
  // звук будет включен сразу же (потому что во 2 параметре – «0»);
  // а уровень спада продержится 0.2 секунд
  // (потому что в 3 параметре – «0.2»):
  env.play(triOsc, 0, 0.2);
}

№2

№3

См.также

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