最近我一直在与索尼的Audio Control 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)由于某种原因不支持此功能,但由于索尼support pages建议这样做,因此我将其发布在此处。
答案 0 :(得分: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可以测试,但是我认为这应该可行。