Видеособытия Silverlight player — расширение Google Chrome (JavaScript)

#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.