JavaScript:Библиотеки/p5.sound/Класс p5.Gain: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
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"> | ||
new p5.Gain() | new p5.Gain() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 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"> | ||
// В этом скетче мы загрузим два звуковых файла | // В этом скетче мы загрузим два звуковых файла | ||
// и сделаем так, чтобы громкость одного файла | // и сделаем так, чтобы громкость одного файла | ||
Строка 108: | Строка 108: | ||
===№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> | ||
Строка 114: | Строка 114: | ||
===№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> |
Текущая версия от 18:15, 14 мая 2023
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик |
Класс 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);
}