Processing:Библиотеки/Sound/Класс AudioSample/read()
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
read()[1]
Класс
AudioSample
Обозначение
read()
Описание
Считывать данные со звукового фрагмента можно разными способами. Во-первых, метод read() может использовать массив значений float (параметр data), куда будут записаны все данные, считанные из звукового фрагмента. Этот массив должен быть способен вместить в себе столько значений float, сколько есть отсчетов (сэмплов) в звуковом фрагменте. Кроме того, при помощи версии read() с 4 параметрами (startFrame, data, startIndex, numFrames) звуковой фрагмент можно прочесть не полностью, а частично. Наконец, при помощи read() с параметром index можно прочесть значение лишь одного отсчета (сэмпла) звукового фрагмента и вернуть его в виде float.
Синтаксис
.read(data)
.read(startFrame, data, startIndex, numFrames)
.read(index)
Параметры
data – массив, в который будут записаны считанные данные. Тип данных – float[]
startFrame – индекс первого отсчета (сэмпла) звукового фрагмента, с которого нужно начать считывание данных. Тип данных – int
startIndex – позиция в массиве data, на которой нужно начать запись считанных данных (как правило, «0»). Тип данных – int
numFrames – количество отсчетов (сэмплов), которые нужно прочесть (не может быть выше data.length - startIndex). Тип данных – int
index – индекс одного отсчета (сэмпла) звукового фрагмента, который нужно прочесть и вернуть в виде значения float. Тип данных – int
Возвращаемое значение
Тип данных – void или float
Пример
import processing.sound.*;
AudioSample sample;
void setup() {
size(640, 360);
background(255);
// создаем новый звуковой фрагмент:
sample = new AudioSample(this, 100000, 22050);
// разными способами считываем данные из этого звукового фрагмента
// (код ниже – лишь для демонстрации, потому что звуковой фрагмент,
// только что созданный выше, в сущности, содержит лишь нули)
// считываем самый первый отсчет (сэмпл):
float frame = sample.read(0);
// считываем весь звуковой фрагмент:
float[] sampleContent = new float[100000];
sample.read(sampleContent);
// считываем только часть звукового фрагмента:
float[] subSample = new float[50000];
// считываем 500000 отсчетов (сэмплов) - начиная с 30000:
sample.read(30000, subSample, 0, 50000);
}
void draw() {
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |