我有一个简单的应用程序枚举的Windows Media Player播放列表。它只是让名称为每个播放列表,并将其打印到控制台:IWMPPlaylistArray.Item(指数)抛出IO异常在Windows 8.1
class Program
{
static void Main(string[] args)
{
var mediaPlayer = new WindowsMediaPlayer { uiMode = "invisible" };
var allPlaylists = mediaPlayer.playlistCollection.getAll();
Console.WriteLine("Found {0} wmp playlists");
for (int i = 0; i < allPlaylists.count; i++)
{
try
{
IWMPPlaylist wmpPlaylist = allPlaylists.Item(i); //Exception here!
Console.WriteLine("Playlist with index {0} has name '{1}'", i, wmpPlaylist.name);
}
catch (Exception e)
{
Console.WriteLine("Failed to get playlist with index {0} with error '{1}'", i, e.Message);
}
}
Console.ReadLine();
}
}
它适用于Windows 8的不错,但在试图获得来自IWMPPlaylistArray收集的播放列表项抛出异常的Windows8.1:
System.IO.DirectoryNotFoundException被抓获 的HResult = -2147024893 消息=该系统找不到指定的路径。 (从HRESULT异常:0x80070003) 源= WMP_POC 堆栈跟踪: 在WMPLib.IWMPPlaylistArray.Item(的Int32 LINDEX) 在WMP_POC.Program.Main(字串[] args)在 的InnerException:
而且能正常工作即使在Windows 8.1中但预定播放像“所有的音乐”,“所有影片”的例外是发生用户创建的播放列表。
请帮忙!
我看到它。没有旋钮,你可以调整,捕捉并继续你的生活。如果您无法忍受它,请致电Microsoft支持部门。 –
我已经发布的问题在MSDN支持论坛 - http://social.msdn.microsoft.com/Forums/ru-RU/365e7437-4f25-43f6-b242-1981f1d3cf3d/iwmpplaylistarrayitemindex-throws-io-exception-on-windows -81?论坛= fordesktopru。但现在没有答案。 –