Record() public method

public Record ( ) : bool
return bool
Example #1
0
 private void ThreadProc()
 {
     while (!_bFinished)
     {
         Advance();
         if (_eDoneProc != null && !_bFinished)
         {
             _eDoneProc(_cCurrentBuffer.Data, _cCurrentBuffer.Size);
         }
         _cCurrentBuffer.Record();
     }
 }
Example #2
0
 public WaveInRecorder(int device, WaveFormat format, int bufferSize, int bufferCount, BufferDoneEventHandler doneProc)
 {
     m_DoneProc = doneProc;
     WaveInHelper.Try(WaveNative.waveInOpen(out m_WaveIn, device, format, m_BufferProc, 0, WaveNative.CALLBACK_FUNCTION));
     AllocateBuffers(bufferSize, bufferCount);
     for (int i = 0; i < bufferCount; i++)
     {
         SelectNextBuffer();
         m_CurrentBuffer.Record();
     }
     WaveInHelper.Try(WaveNative.waveInStart(m_WaveIn));
     m_Thread = new Thread(new ThreadStart(ThreadProc));
     m_Thread.Start();
 }
Example #3
0
 public WaveInRecorder(int device, WaveFormat format, int bufferSize, int bufferCount, BufferDoneEventHandler doneProc)
 {
     try
     {
         EncoderWorking = false;
         m_DoneProc     = doneProc;
         WaveInHelper.Try(WaveNative.waveInOpen(out m_WaveIn, device, format, m_BufferProc, 0, WaveNative.CALLBACK_FUNCTION));
         AllocateBuffers(bufferSize, bufferCount);
         for (int i = 0; i < bufferCount; i++)
         {
             SelectNextBuffer();
             m_CurrentBuffer.Record();
         }
         WaveInHelper.Try(WaveNative.waveInStart(m_WaveIn));
         m_Thread      = new Thread(new ThreadStart(ThreadProc));
         m_Thread.Name = "WaveInRecorder Thread :  ThreadProc()";
         m_Thread.Start();
         EncoderWorking = true;
     }
     catch (Exception)
     {
     }
 }
Example #4
0
        private void ThreadProc()
        {
            while (!m_Finished)
            {
                m_CurrentBuffer = (m_CurrentBuffer == buffer1) ? buffer2 : buffer1;

                m_CurrentBuffer.WaitFor();
                m_DoneProc(m_CurrentBuffer.Data, m_CurrentBuffer.Size);

                if (m_Finished)
                {
                    break;
                }

                m_CurrentBuffer.Record();
            }
        }
Example #5
0
        public WaveInRecorder(int device, WaveFormat format, int bufferSize, BufferDoneEventHandler doneProc)
        {
            m_DoneProc = doneProc;
            WaveInRecorder.ThrowOnError(WaveNative.waveInOpen(out m_WaveIn, device, format, m_BufferProc, 0, WaveNative.CALLBACK_FUNCTION));

            buffer1 = new WaveInBuffer(m_WaveIn, bufferSize);
            buffer2 = new WaveInBuffer(m_WaveIn, bufferSize);

            buffer1.Record();
            buffer2.Record();

            m_CurrentBuffer = buffer1;

            WaveInRecorder.ThrowOnError(WaveNative.waveInStart(m_WaveIn));
            m_Thread = new Thread(new ThreadStart(ThreadProc));
            m_Thread.Start();
        }