public Dataproc() { TransFormFft = new FFT_TransForm(); ArrayNums = ConstUdpArg.ARRAY_NUM; //探头个数 FreqWaveEvent = new AutoResetEvent(false); WorkEnergyEvent = new AutoResetEvent(false); DelayBytesEvent = new AutoResetEvent(false); OrigBytesEvent = new AutoResetEvent(false); WorkBytesEvent = new AutoResetEvent(false); IsBavlueReaded = false; }
void NormalInit() { TransFormFft = new FFT_TransForm(); WorkWaveBytes = new byte[ArrayNums][]; WorkWaveFloats = new float[ArrayNums][]; WorkWaveBytes = new byte[ArrayNums][]; PlayWaveBytes = new byte[ArrayNums][]; int frameNum = ConstUdpArg.WORK_FRAME_NUMS * 4; //工作数据帧数 // int frameNum = 2000 * ConstUdpArg.WORK_FRAME_LENGTH; //工作数据帧数 for (int i = 0; i < ArrayNums; i++) { WorkWaveBytes[i] = new byte[frameNum * 4]; //避免数据为null WorkWaveFloats[i] = new float[frameNum]; //避免数据为null PlayWaveBytes[i] = new byte[frameNum * 2]; //避免数据为null } WorkWavefdatas = new float[frameNum]; //工作波形 EnergyFloats = new float[ArrayNums]; ListenCoefficent = (float)Math.Pow(10, 50 / 20.0F) * 100; //31622.78; //听音强度 WorkThread = new Thread(ThreadWorkWaveStart) { IsBackground = true }; WorkThread.Start(); EnergyThread = new Thread(ThreadEnergyStart) { IsBackground = true }; EnergyThread.Start(); FreqThread = new Thread(ThreadFreqWaveStart) { IsBackground = true }; FreqThread.Start(); }