#javascript #silverlight #events #video #google-chrome-extension
#javascript #серебристый свет #Мероприятия #Видео #google-chrome-расширение #silverlight
Вопрос:
Есть ли способ отслеживать такие события, как остановка, воспроизведение, пауза онлайн-плеера silverlight в расширении Google Chrome? Я могу получить элемент vidoe с document.getElementById("silverlightObject")
помощью, но я ничего не знаю о событиях этого объекта. Мне удалось сделать это с помощью YouTube — у него есть player.getPlayerState()
метод. Может быть, есть аналогичный способ для silverlight Player? Кто-нибудь может помочь?
(пример) это веб-сайт моего сайта: http://www.tvp.pl/vod
это бесплатный пример видео с этого сайта: http://www.tvp.pl/vod/seriale/obyczajowe/czas-honoru/sezon-4-odcinki-40-/iv-seria-odc46-znak-rosenfarba/5423075
Ответ №1:
Если автор приложения Silverlight явно не предоставляет свойство или метод, я не знаю способа проверить состояние любого MediaElement
из них. Существует способ предоставить свойство таким образом, но это звучит так, как будто вы используете чужое приложение без доступа к их источнику.
Если у вас есть доступ к исходному коду Silverlight player, вы можете предоставить свойство с помощью 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();
}
}
Для получения более подробной информации см. Пошаговое руководство: вызов управляемого кода из JavaScript.