Я пытаюсь написать код, который читает каждый элемент из пользовательской библиотеки 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 Player со многими песнями в своей библиотеке, но WMPLib не работает правильно? Кроме того, какие существуют обходные пути для надежного чтения пользовательской библиотеки проигрывателя Windows Media во всех случаях?