0

我做了一个音乐课如下:

public class Music
{
    public void StartMusic()
    {                        
        WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();
        wplayer.URL = "Resources/music3.MID";
        wplayer.controls.play();                            
    }
}

在主屏幕上,我开始一个新线程,如下所示:

Music music = new Music();
thread = new Thread( new ThreadStart(music.StartMusic));            
thread.Start();

现在,音乐在启动屏幕时按需要播放,但问题是,只要我在 UI 上进行交互,单击按钮或扩展器,音乐线程就会停止。有趣的是,如果我使用 SoundPlayer 而不是 MusicPlayer,一切正常。这是 SoundPlayer 的代码:

public void StartMusic()
{
    SoundPlayer sound = new SoundPlayer("Resources/music1.wav");
    sound.PlayLooping();
}
4

1 回答 1

2

我只是通过在 startMusic() 方法之外创建 WindowsMediaPlayer 对象解决了这个问题。这么愚蠢的错误。

于 2012-10-18T17:05:10.360 回答