使用NAudio在C#上创建停止按钮

使用NAudio在C#上创建停止按钮,c#,naudio,C#,Naudio,我正在用NAudio在C#上制作一个新的Mp3播放器,但我在制作一个按钮时遇到了一个问题,这个按钮实际上会停止歌曲,而播放按钮在再次单击时会从头开始播放歌曲。此外,我不知道如何创建下一个和上一个歌曲按钮,以及音量摇杆。有什么想法吗 这是我目前的代码: using NAudio; using System.Windows.Forms; namespace mp3 { public partial class Form1 : Form { public Form1(

我正在用NAudio在C#上制作一个新的Mp3播放器,但我在制作一个按钮时遇到了一个问题,这个按钮实际上会停止歌曲,而播放按钮在再次单击时会从头开始播放歌曲。此外,我不知道如何创建下一个和上一个歌曲按钮,以及音量摇杆。有什么想法吗

这是我目前的代码:

using NAudio;
using System.Windows.Forms;

namespace mp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private NAudio.Wave.Mp3FileReader wave = null;

        private NAudio.Wave.DirectSoundOut output = null;

        private void openFileToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //Отваряме файл
            OpenFileDialog open = new OpenFileDialog();
            open.Filter = "MP3 (*.mp3)|*.mp3";
            if (open.ShowDialog() != DialogResult.OK) return;

            wave = new NAudio.Wave.Mp3FileReader(open.FileName);
            output = new NAudio.Wave.DirectSoundOut();
            output.Init(new NAudio.Wave.WaveChannel32(wave));
            output.Stop();

            //Бутоните се активират
            button_play.Enabled = true;
            button_pause.Enabled = true;
            button_stop.Enabled = true;
        }

        private void button_pause_Click(object sender, EventArgs e)
        {
            if (output != null)
            {
                if (output.PlaybackState == NAudio.Wave.PlaybackState.Playing) output.Pause();          
                button_pause.Enabled = false;
                button_play.Enabled = true;
            }
        }

        private void button_play_Click(object sender, EventArgs e)
        {
            if (output.PlaybackState == NAudio.Wave.PlaybackState.Paused) output.Play();
            if (output.PlaybackState == NAudio.Wave.PlaybackState.Stopped) output.Play();
            button_play.Enabled = false;
            button_pause.Enabled = true;
        }

        private void button_stop_Click(object sender, EventArgs e)
        {
            if (output.PlaybackState == NAudio.Wave.PlaybackState.Playing) output.Stop();
            if (output.PlaybackState == NAudio.Wave.PlaybackState.Stopped) output.PlaybackPosition();
            button_play.Enabled = true;
            button_pause.Enabled = false;

        }

    }
}