Получить индекс текущей воспроизводимой / приостановленной песни в списке воспроизведения [Библиотека проигрывателя Windows Media]

Вот мой код настройки плейлиста, работающий с библиотекой Windows Media Player.

Сейчас я занимаюсь созданием медиаплеера и предоставлением ему плейлиста.

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 ответ

Пусть вам поможет следующий код.

        int index;
        for (int i = 0; i < playlist.count - 1; i++)
        {
            if (wmPlayer.currentMedia.isIdentical[playlist.Item[i]])
            {
                index = i;
                break;
            }
        }
Другие вопросы по тегам