言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

AudioClip.GetData

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public function GetData(data: float[], offsetSamples: int): void;
public void GetData(float[] data, int offsetSamples);
public def GetData(data as float[], offsetSamples as int) as void

Description

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

サンプルは-1.0fから1.0fまでのfloat値です。サンプルの数はfloat配列の長さによって決定されます。 クリップのランダムな位置から読み込みを開始する場合はoffsetSamplesを使用してください。もしクリップの長さよりもオフセットから見た読み込みの長さが大きい場合、 読み込みは一巡し、残りをクリップのスタート位置からサンプリングを行います。 圧縮されたオーディオファイル、 オーディオインポーターで Load TypeDecompress on Load に設定されている時、サンプルデータを引き出すのみしか出来ないことに注意してください。もしこれがそうでない場合、配列は全てのサンプル値を0として返すことになります。

	// Read all the samples from the clip and half the gain
	function Start () {
			var samples = new float[audio.clip.samples * audio.clip.channels];
			audio.clip.GetData(samples, 0);
			for (var i = 0; i < samples.Length; ++i)
				samples[i] = samples[i] * 0.5f;
			audio.clip.SetData(samples, 0);
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Start() {
        float[] samples = new float[audio.clip.samples * audio.clip.channels];
        audio.clip.GetData(samples, 0);
        int i = 0;
        while (i < samples.Length) {
            samples[i] = samples[i] * 0.5F;
            ++i;
        }
        audio.clip.SetData(samples, 0);
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def Start() as void:
		samples as (float) = array[of float]((audio.clip.samples * audio.clip.channels))
		audio.clip.GetData(samples, 0)
		i as int = 0
		while i < samples.Length:
			samples[i] = (samples[i] * 0.5F)
			++i
		audio.clip.SetData(samples, 0)