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

スクリプト言語

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

AudioClip.SetData

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 SetData(data: float[], offsetSamples: int): void;
public void SetData(float[] data, int offsetSamples);
public def SetData(data as float[], offsetSamples as int) as void

Description

クリップにサンプルデーターを設定します。

サンプルは0.0fから1.0fのfloat範囲とすべきです。(これらの制限を超えるとアーティファクトを導くことが出来なかったり定義されていない動作を引き起こしてしまいます) サンプル数はfloat配列の長さによって決定します。 クリップのランダムな位置に書き込む場合はoffsetSamplesを使用してください、クリップの長さよりもオフセットからの長さが大きい場合は 読み込みは一巡し、残りをクリップのスタート位置からサンプリングを行います。 圧縮されたオーディオファイル、 オーディオインポーターで Load TypeDecompress on Load に設定されている時、サンプルデータを引き出すのみしか出来ないことに注意してください。

	// 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)