AudioClip创建
流媒体形式:
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public int position = 0;
public int samplerate = 44100;
public float frequency = 440;
void Start()
{
//参数依次是:clip名称、clip总时长(单位s)、声道数、采样率、是否流媒体、流媒体取数据回调、流媒体播放进度回调<无seek情况下只调用一至两次>
AudioClip myClip = AudioClip.Create(“MySinusoid”, samplerate * 200, 1, samplerate, true, OnAudioRead, OnAudioSetPosition);
AudioSource aud = GetComponent();
aud.clip = myClip;
aud.Play();
}
//喂音频数据到data中,最终保存到clip里面。注意:该回调里的数据不会立即播<延迟1s左右播放,缓冲区所致>放,即回调数据是提前缓冲的。
void OnAudioRead(float[] data)
{
int count = 0;
while (count < data.Length)
{
data[count] = Mathf.Sign(Mathf.Sin(2 * Mathf.PI * frequency * position / samplerate));
position++;
coun