Processing:Библиотеки/Sound/Класс Sound: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
 
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=Класс Sound<ref>[https://processing.org/reference/libraries/sound/Sound.html processing.org - Sound]</ref>=
=Класс Sound<ref>[https://processing.org/reference/libraries/sound/Sound.html processing.org - Sound]</ref>=
Строка 10: Строка 10:
==Класс==
==Класс==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Sound
Sound
</syntaxhighlight>
</syntaxhighlight>
Строка 28: Строка 28:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Sound(parent)
Sound(parent)
Sound(parent, sampleRate, outputDevice, inputDevice, volume)  
Sound(parent, sampleRate, outputDevice, inputDevice, volume)  
Строка 35: Строка 35:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
parent      – как правило, используется «this». Тип данных – PApplet.
parent      – как правило, используется «this». Тип данных – PApplet.
sampleRate  – частота дискретизации, используемая движком для синтеза звука (по умолчанию – «44100»). Тип данных – int.
sampleRate  – частота дискретизации, используемая движком для синтеза звука (по умолчанию – «44100»). Тип данных – int.
Строка 45: Строка 45:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
import processing.sound.*;
import processing.sound.*;
Sound s;
Sound s;
Строка 97: Строка 97:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Текущая версия от 11:58, 20 мая 2023


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



Класс Sound[1]

Класс

Sound

Описание

Класс Sound позволяет настраивать глобальные свойства для синтеза и проигрывания звука – вроде устройства для вывода данных, частоты дискретизации и общей громкости для выходных аудиоданных. Информацию о доступных устройствах ввода и вывода данных можно получить при помощи функции Sound.list().

Методы

  • list() – печатает и возвращает информацию о доступных аудиоустройствах, а также о количестве имеющихся у них входных/выходных каналов.
  • sampleRate() – считывает или задает внутреннюю частоту дискретизации для движка синтеза звука.
  • inputDevice() – выбирает устройство (звуковую карту), которое нужно использовать для считывания входных аудиоданных при помощи объекта AudioIn.
  • outputDevice() – выбирает устройство (звуковую карту), которому нужно отправить выходные аудиоданные, сгенерированные при помощи библиотеки Sound.
  • volume() – задает общую громкость для выходных аудиоданных, сгенерированных при помощи библиотеки Sound.

Синтаксис

Sound(parent)
Sound(parent, sampleRate, outputDevice, inputDevice, volume)

Параметры

parent        как правило, используется «this». Тип данных  PApplet.
sampleRate    частота дискретизации, используемая движком для синтеза звука (по умолчанию  «44100»). Тип данных  int.
outputDevice  ID устройства (например, звуковой карты), на котором нужно проиграть звук. Тип данных  int.
inputDevice   ID устройства (например, звуковой карты), звук которого необходимо использовать в качестве входных данных. Тип данных  int.
volume        общая громкость выходных аудиоданных, сгенерированных при помощи библиотеки Sound (по умолчанию  «1.0»). Тип данных  float.

Пример

import processing.sound.*;
Sound s;

void setup() {
  size(200, 200);

  // запускаем два осциллятора, генерирующих синусный сигнал,
  // но с немного разными частотами, чтобы получить красивый «бит»:
  SinOsc sin = new SinOsc(this);
  sin.play(200, 0.2);
  sin = new SinOsc(this);
  sin.play(205, 0.2);

  // создаем объект Sound, 
  // чтобы глобально контролировать звук выходящих аудиоданных:
  s = new Sound(this);
}

void draw() {
  // подгоняем вертикальное перемещение 
  // курсора мышки к изменению громкости:
  float amplitude = map(mouseY, 0, height, 0.4, 0.0);

  // вместо того, чтобы менять громкость у каждого осциллятора
  // по отдельности, меняем общую громкость выходных аудиоданных,
  // генерируемых библиотекой Sound:
  s.volume(amplitude);
}

См.также

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