智能家居音量特征架构

action.devices.traits.Volume - 此特征属于能够调节音量(例如,将音量设置到特定级别、静音或取消静音)的设备。

设备属性

具有此特征的设备可能会报告以下内容 作为 SYNC 操作的一部分。学习内容 有关处理 SYNC intent 的更多信息,请参阅 intent 执行方式

属性 类型 说明
volumeMaxLevel 整数

必填。

最大音量(假设基线为 0(静音)。Google 助理会相应地调整副词命令(例如“调高电视音量”)。

volumeCanMuteAndUnmute 布尔值

必填。

指示设备是否可以静音和取消静音。与“静音”一样,静音是一个单独的选项会将音量调到 0,同时会记住上一音量,因此取消静音可恢复上一个音量。这反映在音量状态中:如果音量为 5 且用户静音,则音量保持为 5,并且 isMuted 为 true。

volumeDefaultPercentage 整数

(默认值:40

由用户或制造商定义的默认音量(以百分比表示)。比例必须介于 0 到 100 之间。

levelStepSize 整数

(默认值:1

相对音量查询(例如“<device_name> 上的音量调高)”的默认步长。

commandOnlyVolume 布尔值

(默认值:false

指示设备是使用单向 (true) 还是双向 (false) 通信。例如,如果控制器可以在发送请求后确认新设备状态,则此字段为 false。如果无法确认请求是否成功执行或无法获取设备状态(例如,如果设备是传统红外线遥控器),请将此字段设置为 true。

示例

可以静音并报告当前状态的扬声器设备

{
  "volumeMaxLevel": 11,
  "volumeCanMuteAndUnmute": true,
  "levelStepSize": 2,
  "commandOnlyVolume": false,
  "volumeDefaultPercentage": 6
}

设备状态

具有此特征的实体可能会报告以下内容 QUERY 操作包含的指定状态。学习内容 有关处理 QUERY intent 的更多信息,请参阅 intent 执行方式

类型 说明
currentVolume 整数

必填。

当前音量百分比。它必须介于 >0volumeMaxLevel 之间。

isMuted 布尔值

如果 volumeCanMuteAndUnmute 属性设置为 true,则此属性为必需属性。如果设备已设为静音,则为 true;否则为 false。如果 isMuted 为 true,设备仍会针对记住的点返回 currentVolume

示例

可以静音并报告当前状态的扬声器设备

{
  "currentVolume": 5,
  "isMuted": false
}

设备命令

具有此特征的设备可能会响应以下内容 作为 EXECUTE 操作的一部分。学习内容 有关处理 EXECUTE intent 的更多信息,请参阅 intent 执行方式

action.devices.commands.mute

将设备静音或取消静音。

参数

参数 类型 说明
mute 布尔值

必填。

将设备静音还是取消静音。

示例

将扬声器设备静音

{
  "command": "action.devices.commands.mute",
  "params": {
    "mute": true
  }
}

action.devices.commands.setVolume

根据volumeMaxLevel,将音量设为所请求的音量。

参数

参数 类型 说明
volumeLevel 整数

必填。

新卷,从 0volumeMaxLevel

示例

设置音箱设备的绝对音量

{
  "command": "action.devices.commands.setVolume",
  "params": {
    "volumeLevel": 6
  }
}

action.devices.commands.volumeRelative

根据 volumeMaxLevel 设置音量调高或调低 n 步。对于使用相对比例的命令,Google 助理会相应地选择 n 以根据可用的步数进行缩放。例如,与把电视音量调大相比,选择调高电视音量会设置更高的步数。

参数

参数 类型 说明
relativeSteps 整数

必填。

负值表示“减少”。

示例

在“仅限命令”模式下设置扬声器设备的相对音量

{
  "command": "action.devices.commands.volumeRelative",
  "params": {
    "relativeSteps": -1
  }
}

设备错误

查看完整列表 错误和异常
  • volumeAlreadyMax:设备收到 VolumeUp 命令时, 已经调到最大音量了
  • volumeAlreadyMin:设备收到 VolumeDown 命令时, 已经调到最低音量了