获取播放列表中当前正在播放/暂停的歌曲的索引[Windows Media Player Library]

时间:2016-03-16 21:17:06

标签: c# windows-media-player axwindowsmediaplayer

这是我的媒体播放器播放列表代码设置,使用Windows媒体播放器库。

现在我正在做的是创建媒体播放器并为其提供播放列表。

WindowsMediaPlayer wmPlayer = new WindowsMediaPlayer();
wmPlayer.PlayStateChange += Player_PlayStateChange;
IWMPPlaylist playlist = wmPlayer.playlistCollection.newPlaylist("All");
wmPlayer.currentPlaylist = playlist;

然后我将歌曲添加到播放列表

IWMPMedia media = _wmPlayer.newMedia(path); //path to mp3 is given via method parameter
wmPlayer.currentPlaylist.appendItem(media);

这使我可以轻松执行基本的音乐播放器控件,而且我不需要手动转到下一首/上一首歌。

wmPlayer.controls.play();
wmPlayer.controls.pause();
wmPlayer.controls.next();
wmPlayer.controls.previous();

我想要做的是获取播放列表中正在播放/暂停的当前媒体的索引(wmPlayer.currentPlaylist)。这可能吗?

我知道您可以通过wmPlayer.currentPlaylist.Item[index];获取特定索引的歌曲,但我无法找到如何获取当前歌曲的索引。

非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

以下代码可以帮助您。

        int index;
        for (int i = 0; i < playlist.count - 1; i++)
        {
            if (wmPlayer.currentMedia.isIdentical[playlist.Item[i]])
            {
                index = i;
                break;
            }
        }