Accord.DirectSound.WaveFileAudioSource.Start C# (CSharp) Method

Start() public method

Starts reading from the source.
public Start ( ) : void
return void
        public void Start()
        {
            if (thread == null)
            {
                // check source
                if (String.IsNullOrEmpty(fileName))
                    throw new ArgumentException("Audio source is not specified");

                if (!System.IO.File.Exists(fileName))
                    throw new ArgumentException("Source file does not exists");

                framesReceived = 0;
                bytesReceived = 0;

                // create events
                stopEvent = new ManualResetEvent(true);

                // create and start new thread
                thread = new Thread(new ThreadStart(WorkerThread));
                thread.Name = fileName; // mainly for debugging
                thread.Start();
            }
        }

Usage Example

        public void WaveFileAudioSourceConstructorTest()
        {
            string fileName = @"..\..\..\Accord.Tests\Accord.Tests.Audio\Resources\Grand Piano - Fazioli - major A middle.wav";

            WaveFileAudioSource target = new WaveFileAudioSource(fileName);

            Signal s = null;

            target.NewFrame += delegate(object sender, NewFrameEventArgs e)
            {
                if (s == null)
                    s = e.Signal;

                Assert.AreEqual(s.SampleRate, 44100);
                Assert.AreEqual(s.Channels, 2);
                Assert.AreEqual(s.Length, 8192);
                Assert.AreEqual(s.Channels * s.Length, s.Samples);
            };


            target.Start();

            target.WaitForStop();

            Assert.AreEqual(180224, target.FramesReceived);
            Assert.AreEqual(705600, target.BytesReceived);

        }
All Usage Examples Of Accord.DirectSound.WaveFileAudioSource::Start