1

我最近一直在玩索尼的音频控制 API,目的是在家里设置“场景”,我可以用一个命令打开/关闭设备、设置照明等。

我可以使用getCurrentExternalTerminalsStatus列出可用输入,但实际上不能通过setActiveTerminal更改输入。

要求

{
    "method": "setActiveTerminal",
    "id": 13,
    "params": [
    {
        "active": "active",
        "uri": "extInput:sat-catv"
    }],
    "version": "1.0"
}

回复

{
    "error": [
        15,
        "unsupported operation"
    ],
    "id": 13
}

从给出的回复来看,我猜我的 AV 接收器 (STR-DN860) 出于某种原因不支持此功能,但我将其发布在这里,因为索尼的支持页面建议这样做。

4

1 回答 1

2

我认为您想使用“setPlayContent”而不是“setActiveTerminal”。

"setActiveTerminal" 使输出区域“关闭”或“打开”。

要将输出更改为“sat-catv”,请尝试

{
  "method":"setPlayContent",
  "id":47,
  "params":[
  {
    "output":"extOutput:zone?zone=1",
    "uri":"extInput:sat-catv"
  }],
  "version":"1.2"
}

使用卷曲

curl -i -d '{"method":"setPlayContent","id":47,"params":[{"output":"extOutput:zone?zone=1","uri":"extInput:sat-catv"}],"version":"1.2"}' http://xxx.xxx.xxx.xxx:10000

“setActiveTerminal”可用于打开/关闭设备,类似于“setPowerStatus”:

curl -i -d '{"method":"setActiveTerminal","id":13,"params":[{"active":"inactive","uri":"extOutput:zone?zone=1"}],"version":"1.0"}' http://xxx.xxx.xxx.xxx:10000/sony/avContent

但也可以使用 ?zone=2, ?zone=3... 单独打开/关闭每个区域,具体取决于您的设备支持多少个区域。

没有要测试的 STR-DN860,但我认为这应该可以。

于 2018-08-10T08:37:20.813 回答