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

Вот моя настройка кода списка воспроизведения медиаплеера, работающая с библиотекой проигрывателя Windows Media.

Прямо сейчас я создаю медиаплеер и даю ему плейлист.

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];, но я не могу понять, как получить индекс текущей песни.

Любая помощь очень ценится. Спасибо.


person HaloMediaz    schedule 16.03.2016    source источник


Ответы (1)


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

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