예제 #1
0
        private void btnWav_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            string sound = SaveFile();

            SaveFileDialog o = new SaveFileDialog();

            o.FileName = SearchFile().name;
            o.Filter   = "WAVE (*.wav)|*.wav";
            if (o.ShowDialog() == DialogResult.OK)
            {
                string wavSaved = o.FileName;

                switch (SearchFile().type)
                {
                case FormatSound.SWAV:
                    WAV.Write(SWAV.ConvertToWAV(SWAV.Read(sound), false), wavSaved);
                    break;

                case FormatSound.STRM:
                    WAV.Write(STRM.ConvertToWAV(STRM.Read(sound), false), wavSaved);
                    break;
                }
            }

            File.Delete(sound);
            this.Cursor = Cursors.Default;
        }
예제 #2
0
        private void btnReproducir_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor = Cursors.WaitCursor;
                btnStop.PerformClick();

                if (File.Exists(wavFile))
                {
                    File.Delete(wavFile);
                }
                if (File.Exists(loopFile))
                {
                    File.Delete(loopFile);
                }

                string sound = SaveFile();
                wavFile = Path.GetTempFileName();
                if (checkLoop.Checked)
                {
                    loopFile = Path.GetTempFileName();
                }

                switch (SearchFile().type)
                {
                case FormatSound.SWAV:
                    WAV.Write(SWAV.ConvertToWAV(SWAV.Read(sound), false), wavFile);
                    if (checkLoop.Checked)
                    {
                        WAV.Write(SWAV.ConvertToWAV(SWAV.Read(sound), true), loopFile);
                    }
                    break;

                case FormatSound.STRM:
                    WAV.Write(STRM.ConvertToWAV(STRM.Read(sound), false), wavFile);
                    if (checkLoop.Checked)
                    {
                        WAV.Write(STRM.ConvertToWAV(STRM.Read(sound), true), loopFile);
                    }
                    break;
                }

                File.Delete(sound);

                if (checkLoop.Checked)
                {
                    bgdWorker = new Thread(bgdWorker_DoWork);
                    bgdWorker.Start(new String[] { wavFile, loopFile });
                }
                else
                {
                    soundPlayer = new SoundPlayer(wavFile);
                    soundPlayer.Play();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Cursor = Cursors.Default;
            }
        }