c# - 如何在媒体播放器中捕获 "previous/next"轨道更改事件

标签 c# winforms media-player

如何在 axWindowsMediaPlayer1 中捕获“上一个/下一个”轨道更改事件?

例如,当:

  • 用户点击媒体播放器中的“下一个”或“上一个”按钮
  • 或当以下代码执行时 axWindowsMediaPlayer1.Ctlcontrols.next();
  • 或当以下代码执行时 axWindowsMediaPlayer1.Ctlcontrols.previous();

到目前为止,我已经 try catch “axWindowsMediaPlayer1_PlayStateChange”事件,但它不会显示是否触发了“下一个”或“上一个”轨道更改事件。它显示的只是e.newState = 9(转换)

那么在执行之前如何处理“下一个”或“上一个”跟踪事件?

最佳答案

好吧,很明显,这是不可能的......

相反,我正在捕捉一堆不同的事件,例如

if (e.newState == 8) // media ended

if (e.newState == 6) // buffering

else if (e.newState == 3) // playing

我一直在检查播放列表中正在播放的歌曲。如果它是播放列表中的最后一首歌曲,则触发一个 Action ,如果不是最后一首 - 然后是另一个......我知道这不是我所期望的,但我们必须用可用的方法来处理这个问题......即使是非 -原生的。

关于c# - 如何在媒体播放器中捕获 "previous/next"轨道更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15576037/

相关文章:

android - 我无法在 android 中停止我的媒体播放器?

c# - 将 System.Web.UI.WebControls.Image 转换为 System.Drawing.Image?

c# - 将列表转换为数字范围字符串

c# - PCL 中的 Math.Round 函数

C# 从 JSON 在线填充组合框

带有前台服务的音频播放器,适用于 iOS+ Android

java - 如何销毁一个线程,暂停/挂起一个线程,恢复/运行一个线程?

c# - 如何使用 XAML/C# 在我的 UWP 应用程序中允许双向数据绑定(bind)?

c# - 区分用户更改 Checkbox.Checked 值,还是以编程方式更改

c# - 图像在 PictureBox 中旋转