我使用以下方法播放mp3和m4as:

private void playmp3(string path)
    {
        WMPLib.WindowsMediaPlayer a = new WMPLib.WindowsMediaPlayer();
        a.URL = path;
        a.controls.play();
    }


通常,当我播放它们时,它们只会播放大约5秒钟或更短的时间,然后停止播放。如果我以任何方式与(WPF)表单交互,它也会停止。我从playmp3呼叫BackgroundWorker

编辑:移动鼠标后,它实际上停止播放约十分之一秒。

最佳答案

您还需要像这样在播放器状态中进行编码。

Player = new WMPLib.WindowsMediaPlayer();
            Player.PlayStateChange +=
                new WMPLib._WMPOCXEvents_PlayStateChangeEventHandler(Player_PlayStateChange);
            Player.MediaError +=
                new WMPLib._WMPOCXEvents_MediaErrorEventHandler(Player_MediaError);
            Player.URL = "FC.wav";
            Player.controls.play();



   private void Player_PlayStateChange(int NewState)
   {
       if ((WMPLib.WMPPlayState)NewState == WMPLib.WMPPlayState.wmppsStopped)
       {

       }
   }

   private void Player_MediaError(object pMediaObject)
   {
       MessageBox.Show("Cannot play media file.");
       this.Close();
   }

09-07 08:49