Eva*_*all 9 javascript silverlight netflix
是否有Netflix Instant Player(Silverlight)的Javascript API?最好是一个受支持的,有记录的,但是一个不受支持的,未记录的一个也可能没问题; 这是个人项目.
我希望能够播放/暂停并寻找给定的时间.
Max*_*ack 13
我很开心挖掘这个,我想我找到了你的答案.
首先,我在Netflix的某个人发现了一条(不可否认的旧帖),指出他们的许可要求禁止他们提供外部控制播放器的方法(所有内容都需要包含在netflix品牌的应用程序中,并提供与之交互的方式)外部播放器允许你将netflix播放器嵌入它不应该去的地方.)你可以在这里找到答案(尽管已经有四年了,但我认为没有太大变化.)
http://developer.netflix.com/forum/read/54172
我自己试着在"立即观看"页面上窥探,还有像netflix.SilverLight和netflix.SilverLight.MoviePlayer这样的对象(它有一个getPlugin()方法,它返回有关插件的一些细节,以及可挂钩事件,但没有方法对于控制,)但它们主要与暴露播放器视口的大小有关,以及将其放在页面上所需的其他事项.我无法在任何建议他们与电影播放器进行交互的对象中找到任何似乎允许我访问它的内容.
我还抓住了玩家二进制文件,并窥探它们我在内部找到了一个ScriptInterface对象,其中包含[ScriptableMember] - 解决方法,称为PlayMovie(),StopMovie(),ShowCurtain(),HideCurtain().
然后,我注意到播放器二进制文件中有另一个名为Netflix.Silverlight.CBPApp.HostedPlayer的命名空间,它有自己的接口 - HostedPlayerScriptInterface.这有一切你想要它-在播放位置数据,增大和减小播放速度,暂停,播放,设置播放位置,查询播放状态等,所有的这些控件作为装饰[ScriptableMember]秒.
现在我打破了你的心 - 看起来(无论出于什么原因)这个界面没有作为[ScriptableType]公开,据我所知,这是一个能够从javascript访问它的要求.事实上,似乎只有这种方式暴露的事情是玩家开火的事件.我的猜测是这段代码是为了与其他合作伙伴集成,或者是从他们继承了视频播放器的原始代码的人那里留下来的,但似乎故意忽略了这个[ScriptableType]参数.可能有一种方法可以请求构建为"托管"的二进制文件,但我不确定这意味着什么,而且我也怀疑对于那些正在尝试做什么的人来说它会显而易见停下来快点.
很抱歉这个长篇大论的回应以令人失望的方式结束,但现在看来还没有办法实现这一目标.我已经看到一些建议,基本上相当于向模拟键盘控件的浏览器窗口发送击键,但这显然不是你想要的,所以我将在这里用'不'作为答案.:)
编辑:
进一步的研究表明,这不是我认为的死胡同.一旦我完成挖掘,我会更新这个.
编辑2:
所以,看起来你需要欺骗Netflix玩家认为它在托管播放器模式下运行.有一些配置选项可以传入,但我不确定具体如何,你会这样做.看起来这些都是在播放器初始化时设置的 - 也许某种书签可以重新加载页面并注入更改?或者只是重新加载播放器并更改设置.
this.PlayerViewModel = (applicationConfiguration.PlayerConfiguration.EnableHostedPlayerControl ? new HostedPlayerViewModel() : new GenesisPlayerViewModel());
Run Code Online (Sandbox Code Playgroud)
是我想出来的地方.使用HostedPlayerViewModel时,此代码将运行:
HtmlPage.RegisterScriptableObject("HostedPlayerControlScriptInterface_1", this.b)
Run Code Online (Sandbox Code Playgroud)
如果我正确读取将允许您通过获取包含netflix silverlight播放器和调用的DOM对象来访问此注册对象
silverlightPlayer.content.findName('HostedPlayerControlScriptInterface_1').WhateverMethod()
Run Code Online (Sandbox Code Playgroud)
请记住,我没有做太多这个javascript互操作的东西,这很多是从文档中推断出来的,但看起来好像有一个javascript控件API,这只是诱骗玩家进入工作的问题托管模式.
不得不停在这里,但希望这会给你一个良好的开端.我已经转储了该托管播放器Javascript API文件的内容,因此您可以看到一旦您设法将播放器置于托管模式后将会公开的方法.
祝好运!
| 归档时间: |
|
| 查看次数: |
5164 次 |
| 最近记录: |