2

我一直试图在我当前的应用程序中包含 Song.FromURI() 方法,但总是会出现“CrossThreadMessagingException”。

我已经开始了一个新项目,并从字面上复制并粘贴了 MSDN 示例 ( http://msdn.microsoft.com/en-us/library/ff634558.aspx ) 中的代码,但仍然出现异常。它似乎是沉默的(没有终止),但阻止访问任何成员。

谢谢。

Uri uriStreaming = new Uri("http://www.archive.org/download/gd1977-05-08.shure57.stevenson.29303.flac16/gd1977-05-08d02t06_vbr.mp3");
Song song = Song.FromUri("StreamingUri", uriStreaming);


'song.Album' threw an exception of type 'Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException'
'song.Artist' threw an exception of type 'Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException'
'song.Genre' threw an exception of type 'Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException'
'song.PlayCount' threw an exception of type 'Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException'
4

1 回答 1

1

XNA 团队的 Shawn Hargreaves 不久前在 MSDN 上发布了这个,我相信这与你在这里的内容有关:

当您的程序在调试器中暂停时,无法评估许多媒体播放器属性。无法运行涉及与媒体播放器线程通信的复杂属性获取器,因为当您的程序在调试器中中断时该线程被挂起,因此无法运行通常会报告属性值的代码。

这只是一个调试器工件,如果您正常运行程序或在调试器中单步执行它,应该不会导致任何问题。它只影响调试器属性显示,而不影响代码的实际执行。

于 2013-04-10T18:43:06.327 回答