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

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


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


=AudioSample<ref>[https://processing.org/reference/libraries/sound/AudioSample.html processing.org - AudioSample]</ref>=
=AudioSample<ref>[https://processing.org/reference/libraries/sound/AudioSample.html processing.org - AudioSample]</ref>=
Строка 10: Строка 10:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
AudioSample
AudioSample
</syntaxhighlight>
</syntaxhighlight>
Строка 37: Строка 37:
==Конструктор==
==Конструктор==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
AudioSample(parent, frames)
AudioSample(parent, frames)
AudioSample(parent, frames, stereo)
AudioSample(parent, frames, stereo)
Строка 49: Строка 49:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
parent    – как правило, используется «this». Тип данных – PApplet
parent    – как правило, используется «this». Тип данных – PApplet
frames    – количество отсчетов (сэмплов), которые будет включать звуковой фрагмент. Тип данных – int
frames    – количество отсчетов (сэмплов), которые будет включать звуковой фрагмент. Тип данных – int
Строка 59: Строка 59:
==Пример==
==Пример==


<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.*;
AudioSample sample;
AudioSample sample;
Строка 110: Строка 110:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

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


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



AudioSample[1]

Обозначение

AudioSample

Описание

Класс AudioSample предоставляет низкоуровневый доступ к аудио-буферу, что позволяет создавать, проигрывать, манипулировать и получать доступ к звуковым фрагментам. Если вы хотите создать звуковой фрагмент из аудиофайла, хранящегося на диске, это можно сделать при помощи подкласса SoundFile.

Методы

  • channels() – возвращает количество каналов в звуковом фрагменте
  • cue() – ставит курсор воспроизведения на заданную позицию звукового фрагмента
  • duration() – возвращает продолжительность звукового фрагмента (в секундах)
  • frames() – возвращает количество отсчетов (сэмплов) звукового фрагмента
  • jump() – перескакивает на заданную позицию звукового фрагмента, продолжая его проигрывание
  • play() – запускает проигрывание звукового фрагмента; проигрывает фрагмент лишь 1 раз
  • rate() – задает скорость проигрывания звукового фрагмента
  • resize() – меняет размер буфера звукового фрагмента на заданное количество отсчетов (сэмплов)
  • sampleRate() – возвращает частоту дискретизации звукового фрагмента
  • pan() – задает стерео-значение для звукового фрагмента (работает только с моно!)
  • isPlaying() – проверяет, проигрывается ли в данный момент звуковой фрагмент
  • pause() – останавливает проигрывание звукового фрагмента, ставя курсор воспроизведения в место, где была сделана остановка
  • read() – считывает в массив заданное количество отсчетов (сэмплов) звукового фрагмента
  • write() – записывает заданное количество отсчетов (сэмплов) в звуковой фрагмент

Конструктор

AudioSample(parent, frames)
AudioSample(parent, frames, stereo)
AudioSample(parent, frames, stereo, frameRate)
AudioSample(parent, data)
AudioSample(parent, data, stereo)
AudioSample(parent, data, frameRate)
AudioSample(parent, data, stereo, frameRate)

Параметры

parent    – как правило, используется «this». Тип данных – PApplet
frames    – количество отсчетов (сэмплов), которые будет включать звуковой фрагмент. Тип данных – int
stereo    – задает то, как будет восприниматься этот звуковой фрагмент: как 2-канальный (стерео) или 1-канальный (моно). По умолчанию стоит моно (false). Тип данных – boolean
framerate – частота дискретизации звукового фрагмента (по умолчанию – 44100). Тип данных – int
data      – массив значений float. Собственно, звуковые данные этого звукового фрагмента. Длина этого массива соответствует количеству отсчетов (сэмплов) в звуковом фрагменте. Тип данных – float[]

Пример

import processing.sound.*;
AudioSample sample;

void setup() {
  size(640, 360);
  background(255);

  // создаем массив и вручную задаем в нем осциллятор,
  // генерирующий синусный сигнал:
  int resolution = 1000;
  float[] sinewave = new float[resolution];
  for (int i = 0; i < resolution; i++) {
    sinewave[i] = sin(TWO_PI*i/resolution);
  }

  // создаем на основе этих данных звуковой фрагмент;
  // частоту дискретизации задаем на 200 генераций в секунду:
  sample = new AudioSample(this, sinewave, 200 * resolution);

  // запускаем циклическое проигрывание звукового фрагмента
  // (но не слишком громко):
  sample.amp(0.2);
  sample.loop();
}      

void draw() {
}

См.также

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