示例#1
0
        private void timer1_Tick(object sender, System.EventArgs e)
        {
            if (ApplicationBuffer != null)
            {
                int cPos, cWrit;
                ApplicationBuffer.GetCurrentPosition(out cPos, out cWrit);
                //ApplicationBuffer.;

                if (cPos > (trackBar3.Value * 100))
                {
                    ApplicationBuffer.SetCurrentPosition(trackBar2.Value * 100);
                    //ApplicationBuffer.Frequency = - 44000;
                }



                label2.Text = pos(cPos);
            }
            else
            {
                label2.Text = "waiting....";
            }

            if (devx != null)
            {
                int cPos, cWrit;
                bufferx.GetCurrentPosition(out cPos, out cWrit);

                cPos        = cPos * 10;
                label2.Text = pos(cPos);


                BufferCaps cap;
                cap = bufferx.Caps;
                //int xxx = cap.BufferBytes / sps;
                int xxx  = cap.BufferBytes / (trackBar1.Value * 2);
                int xxx1 = cap.PlayCpuOverhead;
                label5.Text = xxx.ToString() + " " + xxx1.ToString();
                xxx++;
            }


            //captureBuffer.GetCurrentPosition(out capturePos, out readPos);
            //http://www.acoustics.salford.ac.uk/acoustics_world/id/VR/VirtualEnvironments.asp
        }