Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

AudioClip.GetData

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function GetData(data: float[], offsetSamples: int): bool;
public bool GetData(float[] data, int offsetSamples);

パラメーター

説明

クリップからサンプルデータの配列を取得します。

サンプルは-1.0f から 1.0f までの float 値です。サンプルの数は float 配列の長さによって決定されます。 クリップの指定した位置から読み込みを開始する場合は offsetSamples パラメーターを使用してください。オフセット位置からの読み込みの長さがクリップの長さよりも大きい場合、読み込みは循環します。 読み込みは一巡し、残りをクリップのスタート位置からサンプリングを行います。

圧縮されたオーディオファイル、オーディオインポーターで Load TypeDecompress on Load に設定されているときサンプルデータを引き出すのみしかできないことに注意してください。もしこれがそうでない場合、配列はすべてのサンプル値を 0 として返すことになります。

// Read all the samples from the clip, reducing their gain by half
// as we go along.
function Start () {
	var aud = GetComponent.<AudioSource>();
	var samples = new float[aud.clip.samples * aud.clip.channels];
	aud.clip.GetData(samples, 0);
	
	for (var i = 0; i < samples.Length; ++i)
		samples[i] = samples[i] * 0.5f;
	
	aud.clip.SetData(samples, 0);
}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { AudioSource aud = GetComponent<AudioSource>(); float[] samples = new float[aud.clip.samples * aud.clip.channels]; aud.clip.GetData(samples, 0); int i = 0; while (i < samples.Length) { samples[i] = samples[i] * 0.5F; ++i; } aud.clip.SetData(samples, 0); } }