#silverlight #plugins #silverlight-4.0 #media-player
#silverlight #Плагины #silverlight-4.0 #медиаплеер
Вопрос:
Я пытаюсь написать универсальный плагин MMPPF (Microsoft Media Platform Player Framework). Я связал его с проигрывателем Silver Light. По некоторым причинам плагин никогда не загружается (всегда вызывается функция PluginLoadFailed.). Мой код прилагается ниже.
using System;
using System.Windows;
using System.Windows.Controls;
using System.ComponentModel.Composition;
using Microsoft.SilverlightMediaFramework.Plugins.Metadata;
using Microsoft.SilverlightMediaFramework.Plugins;
using Microsoft.SilverlightMediaFramework.Core;
using Microsoft.SilverlightMediaFramework.Utilities;
namespace MyGenericPlugin
{
[ExportGenericPlugin(PluginName = "MyGenericPlugin",
PluginDescription = "This is a generic MMPPFPlugin.",
PluginVersion = "1.0")]
public class MyGenericPlugin : IGenericPlugin
{
public event Action<IPlugin,
Microsoft.SilverlightMediaFramework.Plugins.Primitives.LogEntry> LogReady;
public event Action<IPlugin, Exception> PluginLoadFailed;
public event Action<IPlugin> PluginLoaded;
public event Action<IPlugin, Exception> PluginUnloadFailed;
public event Action<IPlugin> PluginUnloaded;
public void SetPlayer(FrameworkElement Player)
{
throw new NotImplementedException();
}
bool IPlugin.IsLoaded
{
get { throw new NotImplementedException(); }
}
void IPlugin.Load()
{
throw new NotImplementedException();
}
event Action<IPlugin,
Microsoft.SilverlightMediaFramework.Plugins.Primitives.LogEntry> IPlugin.LogReady
{
add { throw new NotImplementedException(); }
remove { throw new NotImplementedException(); }
}
event Action<IPlugin, Exception> IPlugin.PluginLoadFailed
{
add { throw new NotImplementedException(); }
remove { throw new NotImplementedException(); }
}
event Action<IPlugin> IPlugin.PluginLoaded
{
add { throw new NotImplementedException(); }
remove { throw new NotImplementedException(); }
}
event Action<IPlugin, Exception> IPlugin.PluginUnloadFailed
{
add { throw new NotImplementedException(); }
remove { throw new NotImplementedException(); }
}
event Action<IPlugin> IPlugin.PluginUnloaded
{
add { throw new NotImplementedException(); }
remove { throw new NotImplementedException(); }
}
void IPlugin.Unload()
{
throw new NotImplementedException();
}
void IPlayerConsumer.SetPlayer(FrameworkElement Player)
{
throw new NotImplementedException();
}
}
}
Комментарии:
1. IPlugin. При загрузке всегда возникает исключение NotImplementedException, поэтому загрузка всегда завершается ошибкой. Я что-то упускаю?
2. У меня есть точки останова для каждой функции, включая функцию «загрузить». Он никогда не вызывается. Я изменил реализацию функции «load», чтобы удалить исключение. Однако у меня все еще та же проблема.
3. Мэтт, ты прав в отношении исключений. У меня есть исключения в реализации события, которые мешают загрузке плагина. Я удалил эти события, и теперь это работает. Спасибо.