Exemplo n.º 1
0
 private void ThreadProc()
 {
     while (!m_Finished)
     {
         Advance();
         if (m_FillProc != null && !m_Finished)
         {
             m_FillProc(m_CurrentBuffer.Data, m_CurrentBuffer.Size);
         }
         else
         {
             // zero out buffer
             byte   v = m_zero;
             byte[] b = new byte[m_CurrentBuffer.Size];
             for (int i = 0; i < b.Length; i++)
             {
                 b[i] = v;
             }
             Marshal.Copy(b, 0, m_CurrentBuffer.Data, b.Length);
         }
         m_CurrentBuffer.Play();
     }
     WaitForAllBuffers();
 }