Processing:Библиотеки/Sound/Класс AudioSample

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


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



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() {
}

См.также

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