WMPLib:player.mediaCollection.getAll().count всегда равен 0

Я пытаюсь написать код, который считывает каждый элемент из пользовательской библиотеки Windows Media Player. Этот код работает для большинства пользователей, но для некоторых пользователей getAll()вернет пустой список, когда у них явно есть сотни или тысячи элементов в их библиотеке проигрывателя Windows Media.

var player = new WindowsMediaPlayer();
var collection = player.mediaCollection;
var list = collection.getAll();
int total = list.count;

Я ссылаюсь на пространство имен WMPLib, добавляя ссылку COM на wmp.dll. Мое приложение поставляется с Interop.WMPLib.dll. Как можно настроить компьютеры некоторых пользователей таким образом, чтобы они запускали проигрыватель Windows Media с большим количеством песен в своей библиотеке, но WMPLib не работал должным образом? Кроме того, какие обходные пути существуют для надежного чтения пользовательской библиотеки Windows Media Player во всех случаях?

16
задан anthony 21 March 2012 в 20:01
поделиться