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

См.также

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