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

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


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



write()[1]

Класс

AudioSample

Обозначение

write()

Описание

Записывать данные в звуковой фрагмент можно разными способами. Во-первых, версия функции write() с 1 параметром (data) использует массив значений float в качестве источника данных, которые нужно записать в звуковой фрагмент. Этот массив должен содержать столько же значений float, сколько имеется отсчетов (сэмплов) в звуковом фрагменте. Во-вторых, при помощи функции write() с 4 параметрами (startFrame, data, startIndex, numFrames) запись можно выполнить не в весь звуковой фрагмент, а в его часть. В-третьих, при помощи версии write() с 2 параметрами (index, value) запись можно выполнить лишь в один отсчет (сэмпл) звукового фрагмента.

Синтаксис

.write(data)
.write(startFrame, data, startIndex, numFrames)
.write(index, value)

Параметры

data – массив, служащий источником записываемых данных. Тип данных – float[]
startFrame – индекс отсчета (сэмпла) в звуковом фрагменте, с которого нужно начать запись данных. Тип данных – int
startIndex – индекс значения в массиве, с которого нужно начать запись данных (как правило, «0»). Тип данных – int
numFrames – количество отсчетов (сэмплов), которые должны быть записаны в звуковой фрагмент (не может превышать data.length - startIndex). Тип данных – int
index – индекс отсчета (сэмпла) звукового фрагмента, которому нужно присвоить заданное значение. Тип данных – int
value – значение, которое нужно присвоить заданному отсчету (сэмплу). Тип данных – float

Возвращаемое значение

void

Пример

import processing.sound.*;
AudioSample sample;

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

  // создаем новый звуковой фрагмент:
  sample = new AudioSample(this, 100000, 22050);

  // в созданном выше звуковом фрагменте нет ничего, кроме нулей,
  // поэтому давайте запишем в него какие-нибудь данные:
  for (int i = 0; i < sample.frames(); i++) {
    // создаем случайные значения,
    // и в результате звук будет похож на белый шум:
    sample.write(i, random(-100, 100));
  }
  sample.play();
}      

void draw() {
}

См.также

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