/// <summary> /// 喊话处理 /// </summary> /// <param name="hdr"></param> private void OnSoundData(PcmAudio.WaveHdr hdr) { if (!IsRecoding) { return; } if (hdr.dwBytesRecorded == 0) { return; } //使采集过程,直到此buffer已经沾满,不能再填充 PcmAudio.waveInUnprepareHeader(hRecord, ref hdr, (UInt32)Marshal.SizeOf(typeof(PcmAudio.WaveHdr))); //将采集到的声音发送给播放线程 if (hdr.lpData != IntPtr.Zero) { DataProc(hdr.dwBytesRecorded, hdr.lpData); } }