public static AudioClip Create (string name, int lengthSamples, int channels, int frequency, bool stream);
public static AudioClip Create (string name, int lengthSamples, int channels, int frequency, bool stream, AudioClip.PCMReaderCallback pcmreadercallback);
public static AudioClip Create (string name, int lengthSamples, int channels, int frequency, bool stream, AudioClip.PCMReaderCallback pcmreadercallback, AudioClip.PCMSetPositionCallback pcmsetpositioncallback);
Obsolete public static AudioClip Create (string name, int lengthSamples, int channels, int frequency, bool _3D, bool stream);
Obsolete public static AudioClip Create (string name, int lengthSamples, int channels, int frequency, bool _3D, bool stream, AudioClip.PCMReaderCallback pcmreadercallback);
Obsolete public static AudioClip Create (string name, int lengthSamples, int channels, int frequency, bool _3D, bool stream, AudioClip.PCMReaderCallback pcmreadercallback, AudioClip.PCMSetPositionCallback pcmsetpositioncallback);

Parámetros

nameNombre del clip.
lengthSamplesCantidad de frames de muestra.
channelsCantidad de canales por frame.
frequencyFrecuencia de sample del clip.
_3DEl clip se reproduce en 3D
streamTrue is el clip se reproduce en streaming, esto es, si el pcmreadercallback genera datos sobre la marcha.
pcmreadercallbackEste callback es invocado para generat un bloque de datos de muestra. Los clips de tipo no-streaming (es decir, los que no se reproducen sobre la marcha) llaman a este callback solo una vez cuando se están creando, mientas que los clips de streaming lo llaman continuamente.
pcmsetpositioncallbackEste callback es invocado cuando el clip se reinicia o cambia de posición de reproducción.

Valor de retorno

AudioClip Una referencia al AudioClip creado

Descripción

Crea un AudioClip de usuario, con un nombre y con la duración determinada en los samples, canales y frecuencia.

Establece tus propios datos de audio con SetData. Use los delegados PCMReaderCallback y PCMSetPositicionCallback para obtener un callback cuando el clip lea datos y cambie de posición. Si stream es true (verdadero), Unity pedirá datos en pequeños trozos. Si es false (falso) todas los samples se leerán durante la creación.

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; } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961