name | Name of clip. |
lengthSamples | Number of sample frames. |
channels | Number of channels per frame. |
frequency | Частота семпла. (Read Only) |
_3D | Audio clip is played back in 3D. |
stream | True if clip is streamed, that is if the pcmreadercallback generates data on the fly. |
pcmreadercallback | This callback is invoked to generate a block of sample data. Non-streamed clips call this only once at creation time while streamed clips call this continuously. |
pcmsetpositioncallback | This callback is invoked whenever the clip loops or changes playback position. |
AudioClip A reference to the created AudioClip.
Создаёт пользовательский AudioClip с данным именем, длинной (в сэмплах), каналами и частотой.
Если поток true, Unity по требованию будет читать данные небольшими порциями. Если false, все образцы будут считываться во время создания.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public int position = 0; public int samplerate = 44100; public float frequency = 440; void Start() { AudioClip myClip = AudioClip.Create("MySinusoid", samplerate * 2, 1, samplerate, true, OnAudioRead, OnAudioSetPosition); AudioSource aud = GetComponent<AudioSource>(); aud.clip = myClip; aud.Play(); }
void OnAudioRead(float[] data) { int count = 0; while (count < data.Length) { data[count] = Mathf.Sign(Mathf.Sin(2 * Mathf.PI * frequency * position / samplerate)); position++; count++; } }
void OnAudioSetPosition(int newPosition) { position = newPosition; } }