Как взаимодействовать с проигрывателем Windows Media на C#

StackOverflow https://stackoverflow.com/questions/56478

  •  09-06-2019
  •  | 
  •  

Вопрос

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

iTunes SDK делает это очень простым, но, к сожалению, на самом деле нет никакого способа сделать это с помощью проигрывателя Windows Media, по крайней мере, в .Net(C#) без интенсивного использования pinvoke, что мне не очень удобно.

Спасибо

Просто чтобы внести ясность:Я не хочу встраивать новый экземпляр проигрывателя Windows Media в свое приложение, а вместо этого хочу управлять/читать «настоящую» полную версию проигрывателя Windows Media, запускаемую пользователем отдельно.

Это было полезно?

Решение

у меня было это https://social.msdn.microsoft.com/Forums/vstudio/en-US/dbd43d7e-f3a6-4087-be06-df17e76b635d/windows-media-player-remoting-in-c?forum=clr в моих закладках, но НЕ проверял его в любом случае.Просто указатель в правильном направлении.В этом нет ничего официального, и потребуется немного покопаться, но вы должны получить довольно простую оболочку (которая по-прежнему будет использовать PInvoke под капотом, но вы ее не увидите) вокруг проигрывателя Windows Media.

Надеюсь, это поможет.

Ой, я неправильно понял.Я думал, вы говорите об управлении запущенным в данный момент экземпляром проигрывателя Windows Media.Если вы самостоятельно размещаете проигрыватель Windows Media, то WMPLib, безусловно, является лучшим решением.

Другие советы

Просто добавьте ссылку на wmp.dll (\windows\system32\wmp.dll).

using WMPLib;

И затем вы можете создать экземпляр медиаплеера

var Player = new WindowsMediaPlayer();
// Load a playlist or file and then get the title 
var title = Player.controls.currentItem.name;

Видеть Программное создание элемента управления проигрывателем Windows Media Чтобы получить больше информации

Для удаленного управления проигрывателем Windows Media вы можете использовать интерфейс IWMPRemoteMediaServices для управления автономным проигрывателем Windows Media.И вы сможете прочитать всю необходимую информацию, такую ​​​​как заголовок или имя файла, из вашего объекта проигрывателя WMP.К сожалению, в SDK нет простого кода C#.Вы можете получить файлы отсюда: http://d.hatena.ne.jp/punidama/20080227 Ищите файл wmpremote.zip изначально его отсюда: http://blogs.msdn.com/ericgu/archive/2005/06/22/431783.aspx

Затем вам нужно выполнить приведение к объекту WindowsMediaPlayer:RemotedWindowsMediaPlayer rm = новый RemotedWindowsMediaPlayer ();WMPLib.WindowsMediaPlayer myPlayer = this.GetOcx() как WMPLib.WindowsMediaPlayer;

и вот..

Лучшая информация, которую я видел о взаимодействии с проигрывателем Windows Media, — это статья автор Стивен Тауб.

Он перечисляет множество различных способов воспроизведения файлов dvr-ms (хотя для этого не имеет особого значения, какого они формата).Возможно, вас заинтересует использование элемента управления ActiveX Media Player, который вы можете добавить в панель инструментов Visual Studio, щелкнув правой кнопкой мыши и добавив элемент управления ActiveX COM проигрывателя Windows Media.Затем вы можете встроить проигрыватель в свое приложение и получить доступ к различным свойствам Media Player, например URL-адресу:

WMPplayer.URL = stringPathToFile;

Возможно, это решение не то, что вам нужно, поскольку оно запускает новый экземпляр Media Player (насколько мне известно), однако оно может указать вам правильное направление.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top