1

Roku 媒体播放器提供带有以下命令的 RESTful API:

  • query/apps这个“query/apps”返回了安装在 Roku 盒子上的所有频道的地图,并与它们的应用程序 ID 配对。此命令通过 http GET 访问。
  • keydown接受一个描述按下的键的参数。Keydown 相当于按下其值为传递参数的远程键。此命令通过没有正文的 POST 发送。
  • keyup接受一个描述要释放的键的参数。Keyup 相当于释放远程键,其值为传递的参数。此命令通过没有正文的 POST 发送。
  • keypress接受一个参数来描述被按下的键。Keyup 相当于按下并释放其值为传递参数的远程键。此命令通过没有正文的 POST 发送。
  • launch将应用程序 ID 作为参数,并作为 roAssociativeArray 发送到应用程序 ID 的 url 参数列表传递给 RunUserInterface() 或 Main() 入口点。此命令通过没有正文的 POST 发送。

在我得到一个查询后,应用程序列表如下:

<apps>
<app id="5127" version="1.0.28">Roku Spotlight</app>
<app id="11" version="2.2.2002">Roku Channel Store</app>
<app id="28" version="2.0.20">Pandora</app>
<app id="12" version="2.4.6">Netflix</app>
<app id="13" version="3.2.7">Amazon Instant Video</app>
<app id="2285" version="2.1.1">Hulu Plus</app>
</apps>

我想将 Netflix (ID 12) 应用程序启动到特定的电视节目或电影中:

POST /launch/12?foo=bar&someVar=someValue HTTP/1.1

其中 foo 和 someVar 是我将发送给 Netflix 的变量,它们对应于该特定内容。但是,我不知道需要将哪些变量或哪些值发送到高级应用程序。

是否有 Netflix/Amazon/Hulu/etc 接受的参数列表?

4

2 回答 2

1

目前,这些内容提供者不提供用于从外部启动内容的接口。您可以做的最好的事情是使用例如 Netflix API 将内容添加到用户的队列。已经有几个第 3 方 Roku 频道可以做到这一点,特别是 Instant Watch Browser 和 MultiQ,两者都在 Roku 频道商店中。

于 2012-04-01T18:59:26.870 回答
1

我最近编写了一个小的 Python 脚本,它使我能够控制我的 Roku 并直接在 Netflix/Hulu/Amazon/etc 中启动和播放电视节目和电影。

它利用外部控制 API 的搜索功能,然后用一系列脚本按键来盲目地播放第一个搜索结果。

到目前为止,它对我来说似乎工作得很好!我什至把它连接到我的亚马逊 Alexa,所以我可以完全通过语音启动我想要的任何东西!

如果你有兴趣,这里是 github 项目的 URL:

https://github.com/tomchapin/roku-search-launcher

于 2018-05-24T02:30:08.573 回答