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