智慧型住宅音量特徵結構定義
action.devices.traits.Volume - 這項特徵屬於可變更音量的裝置 (例如將音量設為特定大小、設為靜音或取消靜音)。
裝置屬性
具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖完成」。
| 屬性 | 類型 | 說明 |
|---|---|---|
volumeMaxLevel |
整數 |
必要。 最大音量等級,假設基準為 0 (靜音)。Google 助理會相應調整副詞指令 (例如「把電視音量調大一點」)。 |
volumeCanMuteAndUnmute |
布林值 |
必要。 指出裝置是否可以將音量設為靜音或取消靜音。「靜音」是獨立的選項,因為「靜音」行為會將音量設為 0,同時記住先前的音量,以便還原。這會反映在音量狀態中,如果音量為 5,使用者將音量調為靜音後,音量仍為 5,且 |
volumeDefaultPercentage |
整數 |
(預設值: 使用者或製造商定義的預設音量百分比。範圍必須介於 0 到 100 之間。 值必須介於 |
levelStepSize |
整數 |
(預設值: 相對音量查詢的預設步長,例如「調高 <device_name> 的音量」。 |
commandOnlyVolume |
布林值 |
(預設值: 指出裝置是使用單向 (true) 或雙向 (false) 通訊運作。舉例來說,如果控制器在傳送要求後可以確認新的裝置狀態,這個欄位就會是 false。如果無法確認要求是否成功執行,或無法取得裝置狀態 (例如裝置是傳統紅外線遙控器),請將這個欄位設為 true。 |
範例
可設為靜音並回報目前狀態的音箱裝置
{
"volumeMaxLevel": 11,
"volumeCanMuteAndUnmute": true,
"levelStepSize": 2,
"commandOnlyVolume": false,
"volumeDefaultPercentage": 6
}裝置狀態
具有這項特徵的實體可能會回報下列狀態,做為 QUERY 作業的一部分。如要進一步瞭解如何處理 QUERY 意圖,請參閱「意圖完成」。
| 州 | 類型 | 說明 |
|---|---|---|
currentVolume |
整數 |
必要。 目前的音量百分比,必須介於 最小值: |
isMuted |
布林值 |
如果 |
範例
可設為靜音並回報目前狀態的音箱裝置
{
"currentVolume": 5,
"isMuted": false
}裝置指令
具有這項特徵的裝置可能會在 EXECUTE 作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱「意圖完成」。
action.devices.commands.mute
將裝置設為靜音或取消靜音。
參數
| 參數 | 類型 | 說明 |
|---|---|---|
mute |
布林值 |
必要。 是否要將裝置設為靜音或取消靜音。 |
範例
將音箱裝置設為靜音
{
"command": "action.devices.commands.mute",
"params": {
"mute": true
}
}action.devices.commands.setVolume
根據 volumeMaxLevel 將音量設為要求等級。
參數
| 參數 | 類型 | 說明 |
|---|---|---|
volumeLevel |
整數 |
必要。 新集數,從 最小值: |
範例
設定音箱裝置的絕對音量
{
"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指令。