2首歌曲同时播放
2 songs playing at the same time
我有一个正在进行的项目。音乐播放平台。为此,我使用 windows 媒体播放器,但我遇到了问题。音乐来自数据库的列表。列表顶部有一个播放按钮。当我按下按钮时,音乐播放流畅。但是当我播放另一首歌曲时,其他音乐并没有停止,它们同时播放。我需要你的帮助。我认为问题是由以下代码引起的
private bool durum = false;
public void btn_koynat_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.FindForm();
frm1.player = player;
if (durum == true)
{
durum = false;
frm1.sarkislider.Value = 0;
}
if (durum==false)
{
durum = true;
int sec = Convert.ToInt32(label_sec.Text);
frm1.btn_Oynat.Enabled = true;
frm1.durum = true;
player.URL = label_sarki.Text + ".MP3";
btn_koynat.BackgroundImage = Properties.Resources.sesacik;
frm1.btn_Oynat.BackgroundImage = Properties.Resources.durdurbutonu;
frm1.sarki_isim.Text = label_sarki.Text;
frm1.sarki_sanatci.Text = label_sanatci.Text;
frm1.label_timer2.Text = label3.Text;
frm1.sarkislider.Maximum = sec;
frm1.timer1.Enabled = true;
frm1.sarkislider.Value = 0;
player.controls.play();
}
}
您可以使用 wplayer.playState 检查您的播放器是否 运行。
这是一个代码示例,可以避免同时播放两首歌曲。
WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();
private void button1_Click(object sender, EventArgs e)
{
if (wplayer.playState == WMPLib.WMPPlayState.wmppsPlaying)
{
wplayer.controls.stop();
wplayer.URL = comboBox1.SelectedItem.ToString();
wplayer.controls.play();
}
else
{
wplayer.URL = comboBox1.SelectedItem.ToString();
wplayer.controls.play();
}
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.Add("1.mp3");
comboBox1.Items.Add("2.mp3");
comboBox1.Items.Add("3.mp3");
comboBox1.Items.Add("4.mp3");
comboBox1.Items.Add("5.mp3");
}
注意:我使用combobox来存储mp3文件。根据我的测试,当我播放一个 mp3 文件并单击按钮播放另一个 mp3 文件时,最初的 mp3 文件被停止并播放另一个文件。
我有一个正在进行的项目。音乐播放平台。为此,我使用 windows 媒体播放器,但我遇到了问题。音乐来自数据库的列表。列表顶部有一个播放按钮。当我按下按钮时,音乐播放流畅。但是当我播放另一首歌曲时,其他音乐并没有停止,它们同时播放。我需要你的帮助。我认为问题是由以下代码引起的
private bool durum = false;
public void btn_koynat_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.FindForm();
frm1.player = player;
if (durum == true)
{
durum = false;
frm1.sarkislider.Value = 0;
}
if (durum==false)
{
durum = true;
int sec = Convert.ToInt32(label_sec.Text);
frm1.btn_Oynat.Enabled = true;
frm1.durum = true;
player.URL = label_sarki.Text + ".MP3";
btn_koynat.BackgroundImage = Properties.Resources.sesacik;
frm1.btn_Oynat.BackgroundImage = Properties.Resources.durdurbutonu;
frm1.sarki_isim.Text = label_sarki.Text;
frm1.sarki_sanatci.Text = label_sanatci.Text;
frm1.label_timer2.Text = label3.Text;
frm1.sarkislider.Maximum = sec;
frm1.timer1.Enabled = true;
frm1.sarkislider.Value = 0;
player.controls.play();
}
}
您可以使用 wplayer.playState 检查您的播放器是否 运行。
这是一个代码示例,可以避免同时播放两首歌曲。
WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();
private void button1_Click(object sender, EventArgs e)
{
if (wplayer.playState == WMPLib.WMPPlayState.wmppsPlaying)
{
wplayer.controls.stop();
wplayer.URL = comboBox1.SelectedItem.ToString();
wplayer.controls.play();
}
else
{
wplayer.URL = comboBox1.SelectedItem.ToString();
wplayer.controls.play();
}
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.Add("1.mp3");
comboBox1.Items.Add("2.mp3");
comboBox1.Items.Add("3.mp3");
comboBox1.Items.Add("4.mp3");
comboBox1.Items.Add("5.mp3");
}
注意:我使用combobox来存储mp3文件。根据我的测试,当我播放一个 mp3 文件并单击按钮播放另一个 mp3 文件时,最初的 mp3 文件被停止并播放另一个文件。