Текущий элемент воспроизведения в проигрывателе Windows Media (wmplayer.exe ver. 12) - PullRequest
1 голос
/ 24 октября 2010

Уже некоторое время пытаюсь это сделать. Кажется, что все решения, которые я видел в сети, не работают, особенно очень простой способ сделать это.

WMPLib.WindowsMediaPlayer c = new WMPLib.WindowsMediaPlayer();<br> IWMPMedia i = (IWMPMedia)c.currentMedia;

c.currentMedia всегда равен нулю.

Кажется, что новый WMPLib.WindowsMediaPlayer (); всегда создает новый экземпляр проигрывателя Windows Media. Сначала я подумал, что это тот факт, что я работал в Visual Studio от имени администратора, но это не помогло.

Кажется, мне как-то нужно подключиться к работающему экземпляру wmplayer.exe, но я не могу найти способ сделать это.

Btw. Мне нужен полный URL-адрес файла для текущей воспроизводимой песни (или fullurl при потоковой передаче, но сейчас это меньше всего меня беспокоит).

1 Ответ

1 голос
/ 25 октября 2010

На ваш вопрос ответили здесь .

  1. Довольно прямой путь:

    Получите здесь плагин WMP9, который поместит название вашей текущей песни на заголовок окна WMP и использование FindWindow P / Invoke, чтобы получить окно и получить название песни. Это должно работать, хотя немного сложнее.

    Проверьте здесь для более подробной информации.

    Подключаемый модуль блогов для Windows Media Player 9 серии

  2. Гораздо более сложный способ:

    Поскольку ваше приложение и WMP будут разными процессами, ваш сценарий требует какого-то межпроцессное взаимодействие (IPC). А также .NET предлагает Remoting для этой цели.

    Ниже приведена полезная информация:

    Как взаимодействовать с Windows Media Player в C #

    Удаленный проигрыватель Windows Media в C #

из SamAgain

...