Как получить имя файла воспроизводимого в данный момент файла в Vista Media Center? - PullRequest
2 голосов
/ 03 октября 2008

У меня есть приложение Windows Vista MCML, и мне нужно выяснить текущее имя воспроизводимого файла.

Media Center SDK ссылается на использование MediaMetadata ["Title"] для получения этой информации, к сожалению, это не работает с файлами списков воспроизведения (.wpl), поскольку нет способа получения позиции в списке воспроизведения.

Ответы [ 2 ]

1 голос
/ 14 октября 2008

Оказывается, это не может быть легко сделано .

Есть 4 варианта.

  1. Никогда не используйте списки воспроизведения, в этом случае MediaMetadata ["Title"] достаточно хорош.
  2. Изучение дескрипторов удаленных файлов в ehshell.exe.
  3. Вставить удаленный поток в ehshell.exe, установить связь и использовать отражение, чтобы прочитать его.
  4. Написать фильтр DirectShow и связаться с ним.

Обновление : это исправлено в Windows 7 . Пока неясно, будет ли он снова портирован на Vista MCE.

Второе обновление : похоже, Microsoft изменила поведение MediaMetadata ["Title"] в недавнем исправлении, теперь она возвращает имя файла без расширения и имя списка воспроизведения.

0 голосов
/ 13 октября 2008

Вы пробовали:

MediaContext.GetProperty(TrackTitle)

Я также видел примеры, в которых в разметке для файла макета отображения мультимедиа указан элемент, такой как:

<music-title duration = "2000" x="69" y="29" width="187" height="20"/>

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...