[C#][原创]关于Windows Media Player状态切换研究

本来想做个播放Mp3软件玩玩,主要是酷狗那些软件太大,而且发现有时候会把我下载的歌曲自动删了。为了简单,不带第三方库我用了Windows Media Player这个控件,写代码时候发现这个并不简单,axWindowsMediaPlayer1_PlayStateChange可以是自动播放下一首的关键触发事件,但是e.NewSate并不是我想要的网上说.NewSate=8,实际操作起来有的居然不播放,为了搞清楚状态切换,于是做了一个简单,研究,先说说Windows Media Player状态码

      wmppsUndefined = 0;   //未知状态
  wmppsStopped = 1;    //播放停止
  wmppsPaused = 2;     //播放暂停
  wmppsPlaying = 3;     //正在播放
  wmppsScanForward = 4;   //向前搜索
  wmppsScanReverse = 5;   //向后搜索
  wmppsBuffering = 6;     //正在缓冲
  wmppsWaiting = 7;      //正在等待流开始
  wmppsMediaEnded = 8;    //播放流已结束
  wmppsTransitioning = 9;    //准备新的媒体文件
  wmppsReady = 10;      //播放准备就绪
  wmppsReconnecting = 11;   //尝试重新连接流媒体数据
  wmppsLast = 12;       //上一次状态,状态没有改变

以下是研究结果:

indows Media Player状态改变:
URL赋值时候,会自动播放,状态为9=>9=>3 ,调用代码axWindowsMediaPlayer1.URL = @"test.mp3";
暂停时候,状态为2,调用代码axWindowsMediaPlayer1.Ctlcontrols.pause();
播放时候,状态为3,调用代码axWindowsMediaPlayer1.Ctlcontrols.play();
停止时候,状态为1,调用代码axWindowsMediaPlayer1.Ctlcontrols.stop();
拖动进度条时候,无状态
自动播放完毕时候,状态为8=>9=>1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
如果你使用的是较新版本的 Visual Studio,可能会发现 Windows Media Player 控件已经不再被支持。这时你可以使用其他第三方的视频播放控件,如 VLC、BASS、FFmpeg 等。 以 VLC 为例,你可以按照以下步骤引入 VLC 控件并使用它来播放视频: 1. 在 Visual Studio 中,打开你的项目,右键单击项目,选择“管理 NuGet 程序包”。 2. 在 NuGet 程序包管理器中搜索“VLC.DotNet.Core”,安装该程序包。 3. 将 VLC 控件添加到你的 Windows Form 窗体中。在工具箱中找到“VLC.DotNet.Core.WinForms”控件,将其拖拽到窗体上。 4. 在代码中使用以下代码来播放视频: ```csharp VlcControl vlcControl = new VlcControl(); this.Controls.Add(vlcControl); vlcControl.SetBounds(0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height); vlcControl.VlcLibDirectoryNeeded += new EventHandler<VlcLibDirectoryNeededEventArgs>(vlcControl_VlcLibDirectoryNeeded); vlcControl.Dock = DockStyle.Fill; vlcControl.Play(new Uri("视频文件路径")); ``` 其中,"视频文件路径"是你要播放的视频文件路径。 需要注意的是,VLC 控件需要使用 VLC 外部库,你需要在代码中指定外部库的路径。可以在 vlcControl_VlcLibDirectoryNeeded 事件处理程序中设置外部库路径,如下所示: ```csharp private void vlcControl_VlcLibDirectoryNeeded(object sender, VlcLibDirectoryNeededEventArgs e) { e.VlcLibDirectory = new DirectoryInfo(@"VLC 的安装路径"); } ``` 这样就可以使用 VLC 控件来播放视频了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FL1623863129

你的打赏是我写文章最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值