参考代码:
开始时初始化:RuntimeManager.cs
public FMOD.DSP m_FFTDsp;
public const int WindowSize = 1024;
FMOD.ChannelGroup master;
lowlevelSystem.getMasterChannelGroup(out master);
master.addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, m_FFTDsp);
播放声音时:
public float[] SpectrumData
{
get
{
uint spectrumLen;
IntPtr unmanagedData; FMODUnity.RuntimeManager.Instance.m_FFTDsp.getParameterData((int)FMOD.DSP_FFT.SPECTRUMDATA, out unmanagedData, out spectrumLen);
FMOD.DSP_PARAMETER_FFT fftData = (FMOD.DSP_PARAMETER_FFT)Marshal.PtrToStructure(unmanagedData, typeof(FMOD.DSP_PARAMETER_FFT));
var spectrum = fftData.spectrum;
if (fftData.numchannels > 0)
{
return spectrum[0]