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

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


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


=read()<ref>[https://processing.org/reference/libraries/sound/AudioSample_read_.html processing.org - read()]</ref>=
=read()<ref>[https://processing.org/reference/libraries/sound/AudioSample_read_.html processing.org - read()]</ref>=
Строка 10: Строка 10:
==Класс==
==Класс==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
AudioSample
AudioSample
</syntaxhighlight>
</syntaxhighlight>
Строка 16: Строка 16:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
read()
read()
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
.read(data)
.read(data)
.read(startFrame, data, startIndex, numFrames)
.read(startFrame, data, startIndex, numFrames)
Строка 34: Строка 34:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
data – массив, в который будут записаны считанные данные. Тип данных – float[]
data – массив, в который будут записаны считанные данные. Тип данных – float[]
startFrame – индекс первого отсчета (сэмпла) звукового фрагмента, с которого нужно начать считывание данных. Тип данных – int
startFrame – индекс первого отсчета (сэмпла) звукового фрагмента, с которого нужно начать считывание данных. Тип данных – int
Строка 44: Строка 44:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Тип данных – void или float
Тип данных – void или float
</syntaxhighlight>
</syntaxhighlight>
Строка 50: Строка 50:
==Пример==
==Пример==


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

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


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



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

См.также

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