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 文件被停止并播放另一个文件。