问题来了——
我正在创建一个具有视频流功能的 windows phone 8 应用程序。我正在使用来自-的播放器框架
按照他们的步骤,我得到了这个例外
$exception {System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Windows.Media.DrmException: 1001
at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.MediaElement_SetMediaStreamSource(MediaElement mediaElement, Int32 mediaStreamerId)
at System.Windows.Controls.MediaElement.SetSource(MediaStreamSource mediaStreamSource)
at Microsoft.Web.Media.SmoothStreaming.SmoothStreamingMediaElement.au(Uri A_0)
at Microsoft.Web.Media.SmoothStreaming.SmoothStreamingMediaElement.a3(Uri A_0, Uri A_1)
at Microsoft.Web.Media.SmoothStreaming.SmoothStreamingMediaElement.a7(DependencyObject A_0, DependencyPropertyChangedEventArgs A_1)
at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue)
at System.Windows.DependencyObject.UpdateEffectiveValue(DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, ValueOperation operation)
at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at Microsoft.Web.Media.SmoothStreaming.SmoothStreamingMediaElement.set_SmoothStreamingSource(Uri value)
at Microsoft.PlayerFramework.Adaptive.SmoothStreamingMediaElementWrapper.Microsoft.PlayerFramework.IMediaElement.set_Source(Uri value)
at Microsoft.PlayerFramework.MediaPlayer.<>c__DisplayClass93.<set__Source>b__92()
at Microsoft.PlayerFramework.MediaPlayer.RegisterApplyTemplateAction(Action action)
at Microsoft.PlayerFramework.MediaPlayer.set__Source(Uri value)
at Microsoft.PlayerFramework.MediaPlayer.LoadSource(MediaLoadingInstruction loadingInstruction)
at Microsoft.PlayerFramework.MediaPlayer.<>c__DisplayClass2e.<<SetSource>b__2c>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__0(Object state)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.UnsafeInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Windows.Threading.DispatcherOperation.Invoke()} System.Exception {System.Reflection.TargetInvocationException}
如果我在从头开始创建新应用程序时遵循相同的步骤,则不会出现上述异常。我以前也用过,效果很好。
如果我删除对 Microsoft.Web.Media.SmoothStreaming.dll 的引用,则会收到此异常
An exception of type 'System.IO.FileNotFoundException' occurred in Unknown Module. and wasn't handled before a managed/native boundary
An exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
'TaskHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\en-US\mscorlib.debug.resources.dll'. Module was built without symbols.
Unhandled Exception: System.Windows.ApplicationUnhandledExceptionEventArgsCould not load file or assembly 'Microsoft.Web.Media.SmoothStreaming, Version=1.1.837.146, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. at Microsoft.PlayerFramework.Adaptive.AdaptivePlugin.get_MediaElement()
at Microsoft.PlayerFramework.MediaPlayer.GetTemplateChildren()
at Microsoft.PlayerFramework.MediaPlayer.<OnApplyTemplate>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__0(Object state)
The program '[3720] TaskHost.exe' has exited with code -1 (0xffffffff).
所以看起来我有一些相互矛盾的引用(这就是我的想法)
我该如何解决这个问题?
感谢所有帮助,谢谢