none
C#如何获取当前Media Player的播放状态? RRS feed

  • 问题

  • 是独立的Media Player进程,不是嵌入程序的空间。能够用SendMessage之类API获取到其播放状态甚至正在播放的歌曲名字吗?

    StringBuilder s = new StringBuilder(512);
    int i = SendMessage(m_PlayerIntPtr, WM_GETTEXT, s.Capacity, s);
    MessageBox.Show(s.ToString());

    这个很不幸,只能返回“Windows Media Player”……

    2012年5月8日 2:14

全部回复

  • 使用axWindowsMediaPlayer1控件,用axWindowsMediaPlayer1.Status判断,其返回值为字符类型:
    没有操作:返回""
    暂停:返回"已暂停"
    停止:返回"已停止"
    播放:返回"正在播放"+歌曲名
    此外还有"正在连接...","正在缓冲"等等,总之返回windows media player状态条上的字符
    2012年5月8日 10:00
  • 哥们,我说的是独立的Windows Media Player进程,不是嵌入到我软件的播放器控件……

    独立的独立的独立的……

    就好像酷狗在播放音乐,只不过现在用的是系统上的WMP,而不是控件……

    2012年5月9日 7:09
  • 这个不好做,据我所知,mediaplayer 没有提供这样的API

    Mike Feng
    MSDN Community Support | Feedback to us
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年5月17日 10:59
    版主