public void DataProcess(int time = 100, int samplesize = 128)
    {
        processbar = 10;
        //拆分数据,time即采样间隔时间,单位毫秒,samplesize为fft结果的数据数量=_spec,采样数据数量为sanplesize*2,取每个间隔分段的钱samplesize位
        int SamplePerFrame = time;        //Mathf.FloorToInt ( time*_audio.clip.frequency / 1000);//每帧间隔的数据数量

        //从第一个非0数据开始
        int  si          = 0;
        bool offsetfound = false;

        while (!offsetfound && si < samples.Length)
        {
            si++;
            if (samples [si] != 0)
            {
                offsetfound = true;
            }
        }

        if (TxTProcess != null)
        {
            TxTProcess.text = "processing  10 %";
        }
        float offset = si * _audio.clip.frequency;                                                          /////////////////第一个非0数据所在的时间

        int NumOfFrame = Mathf.FloorToInt((samples.Length - si) / SamplePerFrame);                          //拆分出的数据数量,相当于帧数

        freqlength = Mathf.FloorToInt(samplesize * _audio.clip.frequency / AudioSettings.outputSampleRate); //有效频率数量
        fft.FFTManagerinit(samplesize * 2, FFT.datafilter.unityspec);                                       //初始化fft
        Debug.LogError("offset=" + si + "  =  " + offset + "SamplePerFrame= " + SamplePerFrame + "--systemtime=" + Time.realtimeSinceStartup);
        for (int i = 0; i < NumOfFrame; i++)
        {
            //帧数
            float[] separatedData = new float[samplesize * 2]; //每次采样的数据数量,为了保证fft结果数量为samplesize,数量取两倍
            int     startindex    = si + i * SamplePerFrame;   //开始采样的编号
            for (int j = 0; j < samplesize * 2; j++)
            {
                //采样samplesize*2次
                if (startindex + j < samples.Length)
                {
                    //编号有效
                    separatedData [j] = samples [startindex + j];
                }
                else
                {
                    //超出范围则置0
                    separatedData [j] = 0;
                }
            }

            float [] result = fft.CalNFFT(fft.windowBlackman(separatedData));               //将采样数据做fft,长度为samplesize


            float[] bands = new float[_numBands + 1];
            bands             = CalcCurrentFrameAvg(result);               //按频段拆分,计算当前帧平均值,存入band
            bands [_numBands] = (float)startindex / _audio.clip.frequency; //startindex所在时间,单位为秒


            BeatAnalysisManager.MAL.Add(bands);             //存入MAL
            if (TxTProcess != null)
            {
                processbar      = Mathf.Min(Mathf.RoundToInt(90f * i / NumOfFrame) + 10, 100);
                TxTProcess.text = "processing  " + processbar + " %";
            }
        } //end 采样samplesize*2次
        Debug.LogError("end process--systemtime=" + Time.realtimeSinceStartup);
    }     //end dataprocess ,band存入MAL