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);
}