Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Create

Creates a user AudioClip with a name and with the given length in samples, channels and frequency.
Read time 9 minutesLast updated 4 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.AudioModule

Create(string, int, int, int, bool, bool)

Creates a user AudioClip with a name and with the given length in samples, channels and frequency.
Warning
Deprecated. The _3D argument of AudioClip is deprecated. Use the spatialBlend property of AudioSource instead to morph between 2D and 3D playback.
public static AudioClip Create(string name, int lengthSamples, int channels, int frequency, bool _3D, bool stream)

Parameters

name

Name of clip.

lengthSamples

Number of sample frames.

channels

Number of channels per frame.

frequency

Sample frequency of clip.

_3D

Audio clip is played back in 3D.

stream

True if clip is streamed, that is if the pcmreadercallback generates data on the fly.

Returns

Type

Description

AudioClipA reference to the created AudioClip.

Remarks

Set your own audio data with AudioClip.SetData. Use the AudioClip.PCMReaderCallback and AudioClip.PCMSetPositionCallback delegates to get a callback whenever the clip reads data and changes the position. If
stream
is true, Unity reads in small chunks of data on demand. If it's false, Unity reads all the samples during the creation of the clip.
Note: Unity expects you to pass an array with valid audio data (floating-point samples between -1.0 and 1.0) to
PCMReaderCallback
. If no audio data is available, you must fill the array with zeros. Otherwise it will result in unexpected noise or other unwanted sounds during playback.

Examples

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.Sin(2 * Mathf.PI * frequency * position / samplerate); position++; count++; } } void OnAudioSetPosition(int newPosition) { position = newPosition; }}

Create(string, int, int, int, bool, bool, PCMReaderCallback)

Creates a user AudioClip with a name and with the given length in samples, channels and frequency.
Warning
Deprecated. The _3D argument of AudioClip is deprecated. Use the spatialBlend property of AudioSource instead to morph between 2D and 3D playback.
public static AudioClip Create(string name, int lengthSamples, int channels, int frequency, bool _3D, bool stream, AudioClip.PCMReaderCallback pcmreadercallback)

Parameters

name

Name of clip.

lengthSamples

Number of sample frames.

channels

Number of channels per frame.

frequency

Sample frequency of clip.

_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.

Returns

Type

Description

AudioClipA reference to the created AudioClip.

Remarks

Set your own audio data with AudioClip.SetData. Use the AudioClip.PCMReaderCallback and AudioClip.PCMSetPositionCallback delegates to get a callback whenever the clip reads data and changes the position. If
stream
is true, Unity reads in small chunks of data on demand. If it's false, Unity reads all the samples during the creation of the clip.
Note: Unity expects you to pass an array with valid audio data (floating-point samples between -1.0 and 1.0) to
PCMReaderCallback
. If no audio data is available, you must fill the array with zeros. Otherwise it will result in unexpected noise or other unwanted sounds during playback.

Examples

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.Sin(2 * Mathf.PI * frequency * position / samplerate); position++; count++; } } void OnAudioSetPosition(int newPosition) { position = newPosition; }}

Create(string, int, int, int, bool, bool, PCMReaderCallback, PCMSetPositionCallback)

Creates a user AudioClip with a name and with the given length in samples, channels and frequency.
Warning
Deprecated. The _3D argument of AudioClip is deprecated. Use the spatialBlend property of AudioSource instead to morph between 2D and 3D playback.
public static AudioClip Create(string name, int lengthSamples, int channels, int frequency, bool _3D, bool stream, AudioClip.PCMReaderCallback pcmreadercallback, AudioClip.PCMSetPositionCallback pcmsetpositioncallback)

Parameters

name

Name of clip.

lengthSamples

Number of sample frames.

channels

Number of channels per frame.

frequency

Sample frequency of clip.

_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.

Returns

Type

Description

AudioClipA reference to the created AudioClip.

Remarks

Set your own audio data with AudioClip.SetData. Use the AudioClip.PCMReaderCallback and AudioClip.PCMSetPositionCallback delegates to get a callback whenever the clip reads data and changes the position. If
stream
is true, Unity reads in small chunks of data on demand. If it's false, Unity reads all the samples during the creation of the clip.
Note: Unity expects you to pass an array with valid audio data (floating-point samples between -1.0 and 1.0) to
PCMReaderCallback
. If no audio data is available, you must fill the array with zeros. Otherwise it will result in unexpected noise or other unwanted sounds during playback.

Examples

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.Sin(2 * Mathf.PI * frequency * position / samplerate); position++; count++; } } void OnAudioSetPosition(int newPosition) { position = newPosition; }}

Create(string, int, int, int, bool)

Creates a user AudioClip with a name and with the given length in samples, channels and frequency.
public static AudioClip Create(string name, int lengthSamples, int channels, int frequency, bool stream)

Parameters

name

Name of clip.

lengthSamples

Number of sample frames.

channels

Number of channels per frame.

frequency

Sample frequency of clip.

stream

True if clip is streamed, that is if the pcmreadercallback generates data on the fly.

Returns

Type

Description

AudioClipA reference to the created AudioClip.

Remarks

Set your own audio data with AudioClip.SetData. Use the AudioClip.PCMReaderCallback and AudioClip.PCMSetPositionCallback delegates to get a callback whenever the clip reads data and changes the position. If
stream
is true, Unity reads in small chunks of data on demand. If it's false, Unity reads all the samples during the creation of the clip.
Note: Unity expects you to pass an array with valid audio data (floating-point samples between -1.0 and 1.0) to
PCMReaderCallback
. If no audio data is available, you must fill the array with zeros. Otherwise it will result in unexpected noise or other unwanted sounds during playback.

Examples

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.Sin(2 * Mathf.PI * frequency * position / samplerate); position++; count++; } } void OnAudioSetPosition(int newPosition) { position = newPosition; }}

Create(string, int, int, int, bool, PCMReaderCallback)

Creates a user AudioClip with a name and with the given length in samples, channels and frequency.
public static AudioClip Create(string name, int lengthSamples, int channels, int frequency, bool stream, AudioClip.PCMReaderCallback pcmreadercallback)

Parameters

name

Name of clip.

lengthSamples

Number of sample frames.

channels

Number of channels per frame.

frequency

Sample frequency of clip.

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.

Returns

Type

Description

AudioClipA reference to the created AudioClip.

Remarks

Set your own audio data with AudioClip.SetData. Use the AudioClip.PCMReaderCallback and AudioClip.PCMSetPositionCallback delegates to get a callback whenever the clip reads data and changes the position. If
stream
is true, Unity reads in small chunks of data on demand. If it's false, Unity reads all the samples during the creation of the clip.
Note: Unity expects you to pass an array with valid audio data (floating-point samples between -1.0 and 1.0) to
PCMReaderCallback
. If no audio data is available, you must fill the array with zeros. Otherwise it will result in unexpected noise or other unwanted sounds during playback.

Examples

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.Sin(2 * Mathf.PI * frequency * position / samplerate); position++; count++; } } void OnAudioSetPosition(int newPosition) { position = newPosition; }}

Create(string, int, int, int, bool, PCMReaderCallback, PCMSetPositionCallback)

Creates a user AudioClip with a name and with the given length in samples, channels and frequency.
public static AudioClip Create(string name, int lengthSamples, int channels, int frequency, bool stream, AudioClip.PCMReaderCallback pcmreadercallback, AudioClip.PCMSetPositionCallback pcmsetpositioncallback)

Parameters

name

Name of clip.

lengthSamples

Number of sample frames.

channels

Number of channels per frame.

frequency

Sample frequency of clip.

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.

Returns

Type

Description

AudioClipA reference to the created AudioClip.

Remarks

Set your own audio data with AudioClip.SetData. Use the AudioClip.PCMReaderCallback and AudioClip.PCMSetPositionCallback delegates to get a callback whenever the clip reads data and changes the position. If
stream
is true, Unity reads in small chunks of data on demand. If it's false, Unity reads all the samples during the creation of the clip.
Note: Unity expects you to pass an array with valid audio data (floating-point samples between -1.0 and 1.0) to
PCMReaderCallback
. If no audio data is available, you must fill the array with zeros. Otherwise it will result in unexpected noise or other unwanted sounds during playback.

Examples

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.Sin(2 * Mathf.PI * frequency * position / samplerate); position++; count++; } } void OnAudioSetPosition(int newPosition) { position = newPosition; }}