gpt4 book ai didi

c# - IndexOutOfRangeException - 音频频谱问题

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:01 25 4
gpt4 key购买 nike

我不知道为什么:float val = spectrum[i];正在产生超出数组范围的索引。请帮忙...!我是这个游戏的新手。

public class InputScript : MonoBehaviour{
void Start()
{
float[] spectrum = new float[256];
AudioSource aud = GetComponent<AudioSource>();
aud.clip = Microphone.Start(null, true, 10, 44100);
aud.Play();

float maxIndex = 0;
float maxValue = 0.0f;
for (int i = 0; i <= spectrum.Length; i++)
{
float val = spectrum[i];
if (val > maxValue)
{
maxValue = val;
maxIndex = i;
}
}

var freq = maxIndex * AudioSettings.outputSampleRate / 2 / spectrum.Length;
}

void Update()
{
float[] spectrum = new float[256];
AudioListener.GetSpectrumData(spectrum, 0, FFTWindow.Rectangular);
}
}

我应该能够从麦克风中提取输入的音调。

最佳答案

在 .net 中,数组的索引从 0 到 spectrum.Length 独占:

for (int i = 0; i < spectrum.Length; i++)

关于c# - IndexOutOfRangeException - 音频频谱问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56003301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com