草庐IT

Netflix Instant Player(silverlight)的Javascript API?

coder 2024-05-17 原文

Netflix Instant Player(silverlight)是否有Javascript API?最好有一个受支持的,有文件证明的文件,但不受支持的,没有文件的文件也可以;这是一个个人项目。

我希望能够播放/暂停并寻找给定的时间。

最佳答案

我很乐于研究这个问题,我想我找到了你的答案。

首先,我在Netflix的某人身上发现了一个(很老)的帖子,说他们的许可要求禁止他们提供从外部控制播放器的方法(所有内容都必须包装在netflix品牌的应用程序中,并提供与之交互的方法)。播放器的外部将允许您将netflix播放器嵌入到不应使用的位置。)您可以在此处找到该答复(尽管已经有4年了,但我想并没有太大的改变。)

http://developer.netflix.com/forum/read/54172

我本人尝试在“立即观看”页面上窥探一下,并且存在诸如netflix.SilverLight和netflix.SilverLight.MoviePlayer之类的对象(该对象具有getPlugin()方法,该方法返回有关插件和可 Hook 事件的一些详细信息,但没有方法) (用于控制)),但是它们主要与暴露播放器视口(viewport)的大小有关,还包括将其放置在页面上的其他必要条件。在任何暗示它们与电影播放器​​交互的对象中,我都找不到任何东西,这似乎允许我访问它。

我还抓取了播放器的二进制文件,并通过它们进行窥探,在内部发现了一个ScriptInterface对象,该对象带有[ScriptableMember]装饰的方法,称为PlayMovie(),StopMovie(),ShowCurtain(),HideCurtain()。

然后,我注意到播放器二进制文件中还有一个名为Netflix.Silverlight.CBPApp.HostedPlayer的 namespace ,它具有自己的接口(interface)-HostedPlayerScriptInterface。它具有您想要的所有内容-播放位置数据,用于增加和降低播放速度,暂停,播放,设置播放位置,查询播放状态等的控件。所有这些都装饰为[ScriptableMember]。

现在,我伤了您的心-看起来(出于某种原因)此接口(interface)并未公开为[ScriptableType],据我所知,这是能够从javascript访问它的要求。实际上,似乎只有这种方式暴露的是玩家触发的事件。我的猜测是,此代码是用于与其他合作伙伴集成,或者是从他们继承了视频播放器原始代码的人遗留下来的,但是似乎故意忽略了此[ScriptableType]参数。也许有一种方法可以请求构建为“托管”的二进制文件,尽管我不确定这意味着什么,而且我还怀疑,对于观看您要执行的操作并拥有一个文件的人来说,它显然是显而易见的。快停下来。

很抱歉,长期以来的回应以失望告终,但截至目前看来,实际上还没有办法做到这一点。我已经看到了一些建议,这些建议基本上相当于将击键发送到模拟键盘控件的浏览器窗口,但这显然不是您想要的,因此在这里我将以“否”作为答案。 :)

编辑:

进一步的研究表明,这并不是我认为的死胡同。完成挖掘后,我将对其进行更新。

编辑2:

因此,看起来您需要欺骗Netflix播放器以使其以托管播放器模式运行。可以传递一些配置选项,但是我不确定具体如何执行此操作。看来这一切都是在播放器初始化上完成的-也许某种书签可以重新加载页面并注入(inject)更改?或者也许只是重新加载播放器并更改设置。

this.PlayerViewModel = (applicationConfiguration.PlayerConfiguration.EnableHostedPlayerControl ? new HostedPlayerViewModel() : new GenesisPlayerViewModel());

是我弄清楚的地方。使用HostedPlayerViewModel时,将运行以下代码:
HtmlPage.RegisterScriptableObject("HostedPlayerControlScriptInterface_1", this.b)

如果我阅读正确,则可以通过获取包含netflix silverlight播放器的DOM对象并调用来访问此注册的对象
silverlightPlayer.content.findName('HostedPlayerControlScriptInterface_1').WhateverMethod()

请记住,我并没有做太多有关javascript互操作的事情,所以很多事情是从文档中推断出来的,但是似乎其中似乎有一个javascript控件API,这只是在欺骗播放器使其工作而已。托管模式。

不得不在这里停止,但是希望这可以给您一个良好的开端。我已经转储了该托管播放器Javascript API文件的内容,因此您可以查看一旦设法使播放器进入托管模式后将公开的方法。

http://pastebin.com/UeN3NFMg

祝你好运!

关于Netflix Instant Player(silverlight)的Javascript API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086205/

有关Netflix Instant Player(silverlight)的Javascript API?的更多相关文章

  1. javascript - 从 iframe 中的 silverlight 应用程序获取父页面 url - 2

    我需要能够确定哪个页面托管了我的silverlight应用程序。我可以使用System.Windows.Browser.HtmlPage.Document.DocumentUri.AbsolutePath获取iframe的url,但我想获取托管iframe的网页的URL。System.Windows.Browser.HtmlPage.Document.DocumentElement.Parent为空。谢谢! 最佳答案 嗯,有人给了我一个link但他们的回答从此消失了?为谁干杯!:)我是这样做的:MainPage.xaml.cs:pu

  2. JavaScript/CSS 与 Silverlight 与 Flex - 2

    我们目前有一个相当复杂的业务应用程序,其中包含大量JavaScript代码,以使用户界面和交互感觉尽可能接近传统桌面应用程序(因为这是我们的用户想要的)。多年来,这个Javascript代码不断增长,使其难以管理和维护,并且增加新功能更有可能破坏现有功能。不用说,很多代码也不再是最先进的。因此,我们一直在讨论应用程序的客户端部分是否应该用Flex或Silverlight重新编写,或者使用一些最先进的JavaScript框架(如jQuery)重新编写,或者我们是否应该简单地继续用我们所拥有的,并逐渐尝试替换现有代码中最糟糕的部分。更难决定的是,重新编写UI可能会花费我们6-12个人月的时

  3. javascript - Silverlight 和 JavaScript 通信 - 2

    我非常喜欢让Silverlight和JavaScript相互通信。在page.xaml.cs文件中,我将类标记为ScriptableType并将两个方法标记为ScriptableMember。然后我声明:HtmlPage.RegisterScriptableObject("Page",this);当我尝试调用任一方法时,我得到obj.Content.Pageisundefined:varobj=document.getElementById('silverlightControl');alert(obj);//[objectHtmlObjectElement]alert(obj.Con

  4. javascript - 从 Silverlight 调用 Javascript 函数 - 2

    我正在尝试从silverlight控件调用javascript函数(在我们的代码中)。我正在尝试通过以下方式调用函数:HtmlPage.Window.Invoke("showPopup",newstring[]{"http://www.example.com"});我收到错误“无法调用:showPopup”我可以毫无问题地调用HtmlPage.Window.Invoke("alert",newstring[]{"test"});,但不是我自己的函数。我还可以在IE开发人员工具中打开有问题的页面并手动调用showPopup("http://www.example.com")并且它按预期工

  5. javascript - 在没有服务器端、silverlight、DBC 等的情况下处理 SharePoint Intranet 跨域的最佳方法 - 2

    我在Microsoft内部SharePoint网站上工作,我需要从跨域SharePoint网站中提取列表数据。出于各种原因,我不想使用Silverlight,而且目前无法实现业务数据连接。是否有一种简单的方法可以使用JavaScript或类似的东西来完成此任务? 最佳答案 “简单?”不完全是。鉴于您的要求,尤其是“没有服务器端”,这是不可能的。但是,如果您可以放弃该要求,则可以通过几个选项来启用跨域请求。CORS有decentsupport对于Cross-OriginResourceSharing对于XMLHttpRequest和微

  6. javascript - Silverlight 如何在命名空间中调用 Javascript 函数? - 2

    我遇到了一个问题,因为我将我的javascript函数包装在一个命名空间中。我的代码的版本1运行良好。最初,为了从Silverlight内部调用javascript,我曾经使用以下代码:HtmlPage.Window.Invoke("hideMyDiv");我的javascript看起来像这样:functionhideMyDiv(){$('#MyDiv').fadeOut();现在,我重构了我的javascript以包含在命名空间中。所以它现在看起来像这样:varactivity={message:null,hideMyDiv:function(){$('#MyDiv').fadeOu

  7. javascript - JavaScript 线程和 Silverlight UI 线程之间是什么关系? - 2

    JavaScript是单线程的-Silverlight不是,但JavaScript和Silverlight之间的交互必须在SilverlightUI线程上执行。但是,SilverlightUI线程和JavaScript线程之间到底是什么关系呢?根据任何定义,它们是同一个线程,还是单独的线程,交互完全通过各自的事件循环执行,并在等待另一个线程时阻塞一个线程(例如,从Silverlight评估/调用JavaScript时)?换句话说,JavaScript能否与UI线程上的Silverlight操作同时执行(同一页面中托管的多个Silverlight实例能否同时运行其UI线程)?

  8. javascript - 禁用 silverlight 加载屏幕 - 2

    有谁知道我怎么不能显示默认的Silverlight加载蓝球和百分比。它只显示一瞬间,我不认为我真的需要它,因为我将我的Silverlight隐藏在jQueryslider下。当用户知道发生了什么时,它已加载并准备就绪。另一个问题是我相信我的jQuery在运行之前等待Silverlight加载。任何人都知道解决这个问题的方法。在检查$(document).ready()时,Silverlight是否是它正在寻找的内容的一部分?编辑:我只是想补充一点,我似乎已经通过实现AnthonyWJones的建议回答了我的第二个问题。似乎我的jQuery现在不会等待或挂起Silverlight加载,而

  9. javascript - 最近 chrome 中奇怪的 silverlight 行为 - 2

    最近(从2014年1月开始)我注意到Chrome有时不显示Silverlight应用程序,除非您在Ctrl+Shift+C(检查元素)上按F11(全屏)。当您点击来自Skype或其他页面的链接时,它通常会发生,因此我将在此处放置一个链接,以便任何人都可以体验此错误。当您点击链接时,大约50%的情况会发生这种情况。将链接粘贴到地址栏不会触发我的错误。这是链接:http://www.icmpoker.com/icmizer/#default此外,按F11并不总是有帮助。但按Ctrl+Shift+C会有所帮助。所以这是我的问题:还有其他人遇到这个问题吗?有没有办法通过javascript或使

  10. xml - 将 XML 文件从网站加载到 XDocument(Silverlight 和 Windows Phone 7) - 2

    我有一个XML文件,我想在WindowsPhone7和Silverlight应用程序中访问它。XML文件在网络服务器上,我想通过http://www.mydomain.com/data/this_is_my_file.xml访问它.如何使用此URL将XML文件加载到XDocument中? 最佳答案 您可以使用WebClient或HttpWebRequest下载(异步)并解析响应。下面是从Web下载和解析XML的最简单方法之一-publicvoidLoadXmlItems(stringxmlUrl){WebClientclient=n

随机推荐