JavaScript:Библиотеки/p5.sound/Класс p5.Gain

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

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


Черновик


Класс p5.Gain [1]

Описание

Это класс для изменения общей громкости звука. Он используется, как правило, для создания микшеров звука.

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

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

Синтаксис

new p5.Gain()

Параметры

  • setInput() – подключает источник звука к объекту p5.Gain
  • connect() – отправляет получившиеся данные объекту из библиотеки p5.sound или объекту из Web Audio API
  • disconnect() – отключает объект p5.Gain от всех «выходов»
  • amp() – задает уровень громкости для аудиоданных, выходящих из объекта p5.Gain

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

Пример

№1

// В этом скетче мы загрузим два звуковых файла
 // и сделаем так, чтобы громкость одного файла
 // увеличивалась по мере уменьшения громкости другого, и наоборот: 

 var sound1, sound2;
 var gain1, gain2, gain3;

 function preload(){
 soundFormats('ogg', 'mp3');
 sound1 = loadSound('../_files/Damscray_01');
 sound2 = loadSound('../_files/beat.mp3');
 }

 function setup() {
 createCanvas(400,200);

 // создаем «главный» усилитель,
 // к которому подключим оба звуковых файла:
 gain3 = new p5.Gain();
 gain3.connect();

 // настраиваем проигрывание «sound1»:
 sound1.rate(1);
 sound1.loop();
 sound1.disconnect(); // отключаем «выход» объекта «sound1»

 gain1 = new p5.Gain();  // настраиваем объект «gain1»
 gain1.setInput(sound1); // подключаем «sound1» ко «входу» «gain1»
 gain1.connect(gain3);   // подключаем «выход» «gain1»
                         // к «главному» усилителю

 sound2.rate(1);
 sound2.disconnect();
 sound2.loop();

 gain2 = new p5.Gain();
 gain2.setInput(sound2);
 gain2.connect(gain3);

 }

 function draw(){
 background(180);

 // рассчитываем горизонтальное расстояние 
 // между курсором мышки и правой стороной экрана:
 var d = dist(mouseX,0,width,0);

 // подгоняем горизонтальную позицию курсора мышки
 // к значениям для управления громкостью «sound1»:
 var vol1 = map(mouseX,0,width,0,1);
 var vol2 = 1-vol1; // когда «sound1» будет звучать громко,
                    // «sound2» будет звучать тихо и наоборот

 gain1.amp(vol1,0.5,0);
 gain2.amp(vol2,0.5,0);

 // подгоняем вертикальную позицию курсора мышки
 // к значениям для управления «главной громкостью звука»:
 var vol3 = map(mouseY,0,height,0,1);
 gain3.amp(vol3,0.5,0);
 }

№2

№3

См.также

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