首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WMPLib经常停止播放

WMPLib经常停止播放
EN

Stack Overflow用户
提问于 2013-01-16 09:24:17
回答 2查看 2.5K关注 0票数 2

我用下面的方法玩mp3s和m4as:

代码语言:javascript
复制
private void playmp3(string path)
    {
        WMPLib.WindowsMediaPlayer a = new WMPLib.WindowsMediaPlayer();
        a.URL = path;
        a.controls.play();
    }

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

编辑:在我移动鼠标大约十分之一秒后它就停止播放了。

EN

回答 2

Stack Overflow用户

发布于 2013-04-07 14:17:22

您还需要在播放器状态中编写代码,如下所示。

代码语言:javascript
复制
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();
   }
票数 2
EN

Stack Overflow用户

发布于 2018-06-25 20:12:43

以简单的方式。在类级别中声明你的玩家。

代码语言:javascript
复制
 WMPLib.WindowsMediaPlayer a;

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

这样你就可以很容易地解决这个问题了。

如果使用相同的方法停止播放,则在其中使用if条件,如下所示

代码语言:javascript
复制
private void playmp3(string path)
{
     a = new WMPLib.WindowsMediaPlayer();
     a.URL = path;
     a.controls.play();
}

您还需要在类级别添加新的WMPLib.WindowsMediaPlayer();,否则每次您调用该方法时,它都会创建一个新的播放器实例,并尝试停止或播放它,因此如下所示。

代码语言:javascript
复制
WMPLib.WindowsMediaPlayer a= new WMPLib.WindowsMediaPlayer();

private void playmp3(string path, string playState)
{

    a.URL = path;

    if(playstate.Equals("Play))
    {
    a.controls.play();
    }
    else if (playState.Equals("Stop"))
    {
      a.controls.stop();
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14350024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档