16
我正在尝试编写从用户的Windows Media Player库中读取每个项目的代码。此代码适用于大多数用户,但对于某些用户,getAll()
将在Windows媒体播放器库中明确包含数百或数千个项目时返回空列表。WMPLib:player.mediaCollection.getAll()。count始终为0
var player = new WindowsMediaPlayer();
var collection = player.mediaCollection;
var list = collection.getAll();
int total = list.count;
我通过添加COM引用的Wmp.dll引用WMPLib
命名空间。我的应用程序随附Interop.WMPLib.dll。如何配置某些用户的机器,使其运行带有许多歌曲的Windows Media Player,但WMPLib无法正常工作?此外,有什么解决方法可以在所有情况下可靠地读取用户的Windows Media Player库?
如果您碰巧有机会测试,您会从'Settings.mediaAccessRights'获得什么值? – 2012-05-16 19:39:04
WMPLib无法正常运行?请问您是否要求发布失败? – Soundararajan 2012-05-21 21:03:47
一般而言,Interop库特定于DLL的版本,如果底层COM DLL中的某些内容发生更改,则必须具有适当的Interop DLL。你知道如果WMP ... DLL是相同的,并在所有窗口的版本兼容。有些Windows如Windows 7 N系列默认不会随Windows Media Player一起提供。 此外,从报告失败的人那里获取配置并尝试从中找到事实是一个好主意 – Soundararajan 2012-05-21 21:07:18