Unity 6.3
0 онлайн 66 гостей 3 в системе
Вход

AudioClip.Create

Declaration

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

Параметры

Параметр Описание
имя Название клипа.
lengthSamples Число кадров выборки.
каналы Количество каналов в кадре.
частота Частота дискретизации клипа.
_3D Аудиоклип воспроизводится в 3D.
поток True, если клип является потоковым, то есть, если pcmreadercallback генерирует данные в режиме реального времени.
pcmreadercallback Этот обратный вызов используется для создания блока образцовых данных. Не потоковые клипы вызывают его только один раз во время создания, в то время как потоковые клипы вызывают его непрерывно.
pcmsetpositioncallback Этот обратный вызов вызывается каждый раз, когда клип повторяется или меняет позицию воспроизведения.

Возвращаемое значение

AudioClip Ссылка на созданный AudioClip.

Описание

Создает пользователя AudioClip с именем и заданной длиной в семплах, каналах и частоте.

Задайте свои собственные аудиоданные с помощью AudioClip.SetData. Используйте делегаты PCMReaderCallback и PCMSetPositionCallback для получения обратного вызова, когда клип читает данные и меняет позицию. Если stream является true, Unity читает небольшие кусочки данных по требованию. Если это false, Unity читает все семплы во время создания клипа.

Примечание: Unity ожидает, что вы передадите массив с действительными аудиоданными (семплы с плавающей точкой между -1.0 и 1.0) PCMReaderCallback. Если аудиоданные отсутствуют, вы должны заполнить массив нулями. В противном случае это приведет к неожиданному шуму или другим нежелательным звукам во время воспроизведения.

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; } }