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

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Pixel Art Mini Meow Animated.gif Черновик


Класс 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

 1 var mic, recorder, soundFile;
 2 var state = 0;
 3 
 4 function setup() {
 5   background(200);
 6   // создаем объект p5.AudioIn:
 7   mic = new p5.AudioIn();
 8 
 9   // начинаем обрабатывать аудиоданные, идущие через микрофон:
10   mic.start();
11 
12   // создаем объект p5.SoundRecorder для записи звука:
13   recorder = new p5.SoundRecorder();
14 
15   // подключаем микрофон к объекту для записи звука:
16   recorder.setInput(mic);
17 
18   // этот объект p5.SoundFile будет использоваться
19   // для проигрывания и сохранения записанного звука:
20   soundFile = new p5.SoundFile();
21 
22   text('keyPress to record', 20, 20);
23    //  'нажмите на клавишу, чтобы начать запись'
24 }
25 
26 function keyPressed() {
27   // убеждаемся, что пользователь включил микрофон: 
28   if (state === 0 && mic.enabled) {
29 
30     // записываем звук на наш объект p5.SoundFile:
31     recorder.record(soundFile);
32 
33     background(255,0,0);
34     text('Recording!', 20, 20);
35      //  'Запись!'
36     state++;
37   }
38   else if (state === 1) {
39     background(0,255,0);
40 
41     // останавливаем запись
42     // и отправляем результаты объекту «soundFile»:
43     recorder.stop();
44 
45     text('Stopped', 20, 20);
46      //  'Запись остановлена'
47     state++;
48   }
49 
50   else if (state === 2) {
51     soundFile.play(); // проигрываем результат!
52     save(soundFile, 'mySound.wav');
53     state++;
54   }
55 }

№2

№3

См.также

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