使用WMP在C#中暂停/播放MP3文件

Tre*_*ink 0 c# mp3 wmp

我再一次陷入练习中.当我打开我的程序时,我想要一个MP3文件播放 - 我能做到这一点,我得到了音乐.我还想要一个允许暂停音乐的复选框 - 但要么我很累,要么事情不起作用 - 当我检查/取消选中它时没有任何反应.我这样做了:

public void PlayPause(int Status)
     {
        WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
        switch (Status)
        {
            case 0:
                wmp.URL = "Musik.mp3";
                break;
            case 1:
                wmp.controls.play();
                break;
            case 2:
                wmp.controls.pause();
                break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

在打开程序时,使用案例0调用该方法.音乐播放.都好.然而,这不起作用,我不明白为什么,因为这是非常简单的代码.

        public void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox1.Checked == true)
        {
            PlayPause(2);
        }
        else if (checkBox1.Checked == false)
        {
            PlayPause(1);
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何关于为什么选中复选框的想法都不会暂停/取消暂停音乐?

dod*_*ron 6

每次调用PlayPause函数时,您都要实例化一个全新的WindowsMediaPlayer对象.

因此,当您稍后调用暂停时,您什么都不会暂停.

您需要保持或传递对该WMP对象的引用,以便您在同一个上运行.

  • ..我的考试很失败:3谢谢! (4认同)