JavaScript:Библиотеки/p5.sound/Класс p5.SoundRecorder: различия между версиями

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


<references />
<references />
{{SEO
|Заголовок статьи=JavaScript: Класс p5.SoundRecorder / Онлайн справочник - wikihandbk.com
|Ключевые слова=Класс p5.SoundRecorder
|Описание статьи=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/JavaScript:Библиотеки/p5.sound/Класс p5.SoundRecorder</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2018-09-15
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}

Версия от 09:46, 24 февраля 2023

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


Черновик


Класс p5.SoundRecorder [1]

Описание

Этот класс предназначен для записи звука, чтобы получившуюся запись можно было воспроизвести и/или сохранить в файл формата «*.wav». Объект p5.SoundRecorder записывает все звуки, генерируемые вашим скетчем. Кроме того, к нему при помощи функции setInput() можно назначить какой-то конкретный источник звука.

Метод record() в качестве параметра принимает объект p5.SoundFile. Если проигрывание файла будет остановлено – или когда истечет время, или после вызова функции stop() – объект p5.SoundRecorder отправит свою запись объекту p5.SoundFile для дальнейшего проигрывания.

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

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

Синтаксис

new p5.SoundRecorder()

Методы

  • setInput() – подключает к объекту p5.SoundRecorder заданный объект или звуковое устройство. Если параметра задано не будет, p5.SoundRecorder вернет звуки, генерируемые всеми объектами библиотеки p5.sound в вашем скетче.
  • record() – начинает запись. Чтобы получить доступ к получившейся записи, задайте в первом параметре объект p5.SoundFile. Объект p5.SoundRecorder отправит то, что записал, этому объекту p5.SoundFile, чтобы он проиграл это после завершения записи. Также предусмотрены дополнительные параметры для длительности записи (в секундах) и функции обратного вызова, которая будет вызвана после завершения записи.
  • stop() – останавливает запись. После того, как запись останавливается, ее результаты отправляются объекту p5.SoundFile, который был задан параметром в функции record(). И если в record() также была задана функция обратного вызова, она тоже будет вызвана.
  • saveSound() – сохраняет объект p5.SoundFile в файл формата «*.wav».

Пример

№1

var mic, recorder, soundFile;
var state = 0;

function setup() {
  background(200);
  // создаем объект p5.AudioIn:
  mic = new p5.AudioIn();

  // начинаем обрабатывать аудиоданные, идущие через микрофон:
  mic.start();

  // создаем объект p5.SoundRecorder для записи звука:
  recorder = new p5.SoundRecorder();

  // подключаем микрофон к объекту для записи звука:
  recorder.setInput(mic);

  // этот объект p5.SoundFile будет использоваться
  // для проигрывания и сохранения записанного звука:
  soundFile = new p5.SoundFile();

  text('keyPress to record', 20, 20);
   //  'нажмите на клавишу, чтобы начать запись'
}

function keyPressed() {
  // убеждаемся, что пользователь включил микрофон: 
  if (state === 0 && mic.enabled) {

    // записываем звук на наш объект p5.SoundFile:
    recorder.record(soundFile);

    background(255,0,0);
    text('Recording!', 20, 20);
     //  'Запись!'
    state++;
  }
  else if (state === 1) {
    background(0,255,0);

    // останавливаем запись
    // и отправляем результаты объекту «soundFile»:
    recorder.stop();

    text('Stopped', 20, 20);
     //  'Запись остановлена'
    state++;
  }

  else if (state === 2) {
    soundFile.play(); // проигрываем результат!
    save(soundFile, 'mySound.wav');
    state++;
  }
}

№2

№3

См.также

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