當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Processing AudioSample.write()用法及代碼示例

Processing, 類AudioSample中的write()用法介紹。

用法

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

參數

  • data (float[]) 樣本數據的數組,直到 sample.frames() * sample.channels() 浮點數,應該被複製
  • startFrame (int) 應該寫入的音頻樣本的第一幀的索引
  • startIndex (int) 第一個要寫入的值應取自數組中的位置(通常為 0)
  • numFrames (int) 應該寫入的幀數(不能大於 audiosample.channels() * data.length - startIndex)
  • index (int) 應設置為給定值的音頻樣本單幀的索引
  • value (float) 給定音頻幀應設置為的浮點值

返回

  • void

說明

音頻樣本的基礎數據可以通過幾種不同的方式讀取和(覆蓋)寫入:采用單個浮點數組 `data` 的方法將樣本數據替換為給定數組的內容。該數組必須包含與此示例中的幀一樣多的浮點數。也可以使用帶有四個參數的方法隻寫入部分樣本數據,它允許您指定要寫入的第一幀的索引、從數組中獲取數據的位置以及幀數應該複製過來。最後,采用兩個參數的方法隻是將第一個參數指定的單個音頻幀的值設置為給定的浮點值。

例子

import processing.sound.*;
AudioSample sample;

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

  // Create a new audiosample
  sample = new AudioSample(this, 100000, 22050);

  // A freshly initiated audiosample contains nothing but zeros, so let's
  // write some data to it.
  for (int i = 0; i < sample.frames(); i++) {
    // Random numbers  will make it sound like white noise
    sample.write(i, random(-100, 100));
  }
  sample.play();
}      

void draw() {
}

相關用法


注:本文由純淨天空篩選整理自processing.org大神的英文原創作品 AudioSample.write()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。