有没有办法在Google Chrome扩展程序中跟踪诸如停止,播放,暂停Silverlight在线播放器等事件?我可以使用document.getElementById("silverlightObject")
获取vidoe元素,但我对此对象的事件一无所知。我设法用YouTube做了 - 它有player.getPlayerState()
方法。也许银光玩家有类似的方式?有人可以帮忙吗?
(例子)这是我的网站: http://www.tvp.pl/vod
这是本网站的免费视频示例: http://www.tvp.pl/vod/seriale/obyczajowe/czas-honoru/sezon-4-odcinki-40-/iv-seria-odc46-znak-rosenfarba/5423075
答案 0 :(得分:0)
除非Silverlight应用程序的作者明确公开了属性或方法,否则我不知道如何探测其中任何MediaElement
的状态。有一种方法可以用这种方式公开一个属性,但听起来你正在使用其他人的应用而无法访问它们的来源。
如果您确实可以访问Silverlight播放器的来源,则可以使用ScriptableMember
属性和HtmlPage.RegisterScriptableObject()
公开属性,例如:
//In constructor of view that contains your MediaElement
HtmlPage.RegisterScriptableObject("player", this);
...
[ScriptableMember]
public string CurrentState
{
get
{
return this.MediaElement.CurrentState.ToString();
}
}
有关详细信息,请参阅Walkthrough: Calling Managed Code from JavaScript。