智能家居 InputSelector trait 架构
action.devices.traits.InputSelector - 此 trait 适用于能够切换输入的设备。
每个设备的媒体输入都可以具有动态名称,表示音频或视频 Feed。这些 Feed 可以是硬接线的,也可以通过网络连接,但应具有名称且具有合理的持久性。此 trait 不支持任意暂时性 Feed,例如可搜索的网络图书馆。支持已配对且命名的蓝牙源。来源可以有多个名称,因此支持用户创建的名称和发现的名称,以及默认名称;例如,“hdmi_1”也可以是“DVD 播放器”,或者“usb_1”也可以是“硬盘”。
媒体输入可以按顺序排列,以支持“下一首”和“上一首”命令。
与 Toggles 和 Modes 一样,应以所有可用语言提供输入的名称;这对默认名称尤为重要。
设备属性
具有此 trait 的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅intent 执行方式。
| 属性 | 类型 | 说明 |
|---|---|---|
availableInputs |
数组 |
必填。 表示输入音频或视频 Feed 的对象列表。饲料可以是硬接的,也可以是通过网络连接的。每个 Feed 都应有名称,并且应具有合理的持久性。请务必仔细定义同义词,以免触发不必要的过度触发。 |
[item, ...] |
对象 |
可用的输入。 |
key |
String |
必填。 输入的唯一键。在语音或回答中,不应向用户显示密钥。 |
names |
数组 |
必填。 所有可用语言的输入名称列表。 |
[item, ...] |
对象 |
针对给定可用语言的输入。 |
lang |
String |
必填。 语言代码。 |
name_synonym |
数组 |
必填。 输入内容的简单易懂的名称(采用指定语言)。Google 助理对用户的回复中会使用第一个同义词。 |
[item, ...] |
String |
输入名称。 |
commandOnlyInputSelector |
布尔值 |
(默认值: 指示设备是否支持使用单向(true)或双向(false)通信。如果设备无法响应此 trait 的 QUERY intent 或报告状态,请将此属性设为 true。 |
orderedInputs |
布尔值 |
(默认值: 如果输出列表已排序,则为 true。这也表示“下一张”和“上一张”功能可用。 |
示例
具有两个有序输入的设备。
{
"availableInputs": [
{
"key": "hdmi_1",
"names": [
{
"lang": "en",
"name_synonym": [
"HDMI 1",
"1st HDMI",
"DVD Player"
]
},
{
"lang": "de",
"name_synonym": [
"HDMI 1",
"Zuerst HDMI",
"DVD Spieler"
]
}
]
},
{
"key": "usb_1",
"names": [
{
"lang": "en",
"name_synonym": [
"USB 1",
"First USB",
"Hard Drive"
]
},
{
"lang": "de",
"name_synonym": [
"USB 1",
"Zuerst USB",
"Festplatte"
]
}
]
}
],
"orderedInputs": true
}设备状态
具有此 trait 的实体可能会在 QUERY 操作期间报告以下状态。如需详细了解如何处理 QUERY intent,请参阅intent 执行方式。
| 州 | 类型 | 说明 |
|---|---|---|
currentInput |
String |
必填。 当前正在使用的输入的键。 |
示例
当前选择的设备具有 HDMI 输入端口。
{
"currentInput": "hdmi_1"
}设备命令
具有此 trait 的设备可能会在 EXECUTE 操作期间响应以下命令。如需详细了解如何处理 EXECUTE intent,请参阅intent 执行方式。
action.devices.commands.SetInput
设置媒体输入。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
newInput |
String |
必填。 新输入的键。 |
示例
选择 USB 输入
{
"command": "action.devices.commands.SetInput",
"params": {
"newInput": "usb_1"
}
}action.devices.commands.NextInput
选择下一个输入项。仅当 orderedInputs 属性设置为 true 时适用。
{
"orderedInputs": true
}
参数
| 参数 | 类型 | 说明 |
|---|---|---|
没有属性 |
||
示例
无参数
{
"command": "action.devices.commands.NextInput",
"params": {}
}action.devices.commands.PreviousInput
选择上一个输入内容。仅当 orderedInputs 属性设置为 true 时适用。
{
"orderedInputs": true
}
参数
| 参数 | 类型 | 说明 |
|---|---|---|
没有属性 |
||
示例
无参数
{
"command": "action.devices.commands.PreviousInput",
"params": {}
}示例话语
de-DE
- Ändere den Eingangskanal auf AUX .
en-US
- change input mode to HDMI 1
es-ES
- cambia a hdmi 1
fr-FR
- Activation du mode HDMI1 .
- Mets la télé sur HDMI 1 .
hi-IN
- टीवी की इनपुट HDMI 1 में स्विच करो
it-IT
- metti ingresso aux sulla tv
ja-JP
- テレビ HDMI1 にして
ko-KR
- TV HDMI 1 로 바꿔 줘
nl-NL
- zet de TV op bluetooth
pt-BR
- Muda a entrada da TV para HDMI2 .
- mudar a entrada para AUX
sv-SE
- Sätt på hdmi 1
设备错误
查看错误和异常的完整列表。unsupportedInput:目前不支持该输入。