智慧型住宅 TransportControl 特徵的結構定義
action.devices.traits.TransportControl
- 這個特徵可用於能夠控制媒體播放的裝置 (例如,在暫停播放時繼續播放音樂)。
裝置屬性
具備這項特徵的裝置可能會回報下列資料:
在 SYNC
作業中使用屬性變更。學習
如要進一步瞭解如何處理 SYNC
意圖,請參閱
意圖執行要求。
屬性 | 類型 | 說明 |
---|---|---|
transportControlSupportedCommands |
陣列 |
必要。 字串清單,說明這部裝置支援的傳輸控制指令。 |
[item, ...] |
String |
支援的指令。 支援的值:
|
範例
支援播放指令的裝置
{ "transportControlSupportedCommands": [ "NEXT", "PREVIOUS", "PAUSE", "STOP", "RESUME" ] }
裝置狀態
無。
裝置指令
具備這種特徵的裝置可能會回應下列問題
做為 EXECUTE
作業的一部分。學習
如要進一步瞭解如何處理 EXECUTE
意圖,請參閱
意圖執行要求。
action.devices.commands.mediaStop
暫停播放媒體。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "STOP" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
沒有任何屬性 |
範例
無參數
{ "command": "action.devices.commands.mediaStop", "params": {} }
action.devices.commands.mediaNext
跳至下一個媒體項目。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "NEXT" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
沒有任何屬性 |
範例
無參數
{ "command": "action.devices.commands.mediaNext", "params": {} }
action.devices.commands.mediaPrevious
跳到上一個媒體項目。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "PREVIOUS" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
沒有任何屬性 |
範例
無參數
{ "command": "action.devices.commands.mediaPrevious", "params": {} }
action.devices.commands.mediaPause
暫停播放媒體。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "PAUSE" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
沒有任何屬性 |
範例
無參數
{ "command": "action.devices.commands.mediaPause", "params": {} }
action.devices.commands.mediaResume
繼續播放媒體。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "RESUME" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
沒有任何屬性 |
範例
無參數
{ "command": "action.devices.commands.mediaResume", "params": {} }
action.devices.commands.mediaSeekRelative
跳轉至相對位置。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "SEEK_RELATIVE" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
relativePositionMs |
整數 |
必要。 待跳轉 (正整數) 或倒轉 (負 int) 金額的毫秒數。 |
範例
往前跳 10 秒
{ "command": "action.devices.commands.mediaSeekRelative", "params": { "relativePositionMs": 10000 } }
倒轉 10 秒
{ "command": "action.devices.commands.mediaSeekRelative", "params": { "relativePositionMs": -10000 } }
action.devices.commands.mediaSeekToPosition
跳轉至絕對位置。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "SEEK_TO_POSITION" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
absPositionMs |
整數 |
必要。 要跳轉的絕對位置 (以毫秒為單位)。 |
範例
跳轉至 30 秒
{ "command": "action.devices.commands.mediaSeekToPosition", "params": { "absPositionMs": 30000 } }
action.devices.commands.mediaRepeatMode
設定重複播放模式。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "SET_REPEAT" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
isOn |
布林值 |
必要。 設為 True 即可開啟重複播放模式,設為 false 則表示關閉重複模式。 |
isSingle |
布林值 |
(預設值: 如果指定,true 表示開啟單一項目重複模式,false 表示開啟一般重複模式 (例如播放清單)。 |
範例
重複於
{ "command": "action.devices.commands.mediaRepeatMode", "params": { "isOn": true } }
關閉重複播放功能
{ "command": "action.devices.commands.mediaRepeatMode", "params": { "isOn": false } }
重複播放單一曲目
{ "command": "action.devices.commands.mediaRepeatMode", "params": { "isOn": true, "isSingle": true } }
action.devices.commands.mediaShuffle
隨機播放目前的播放清單。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "SHUFFLE" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
沒有任何屬性 |
範例
無參數
{ "command": "action.devices.commands.mediaShuffle", "params": {} }
action.devices.commands.mediaClosedCaptioningOn
開啟字幕。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "CAPTION_CONTROL" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
closedCaptioningLanguage |
String |
隱藏式輔助字幕的語言或語言代碼。 |
userQueryLanguage |
String |
使用者查詢的語言或語言代碼。 |
範例
開啟英文隱藏式輔助字幕
{ "command": "action.devices.commands.mediaClosedCaptioningOn", "params": { "closedCaptioningLanguage": "en" } }
開啟韓文的隱藏式輔助字幕
{ "command": "action.devices.commands.mediaClosedCaptioningOn", "params": { "closedCaptioningLanguage": "ko-KR" } }
在使用者查詢時開啟韓文隱藏式輔助字幕 (英文 (美國))
{ "command": "action.devices.commands.mediaClosedCaptioningOn", "params": { "closedCaptioningLanguage": "ko-KR", "userQueryLanguage": "en-US" } }
action.devices.commands.mediaClosedCaptioningOff
關閉字幕。
這個指令需要下列屬性:{ "transportControlSupportedCommands": [ "CAPTION_CONTROL" ] }
參數
參數 | 類型 | 說明 |
---|---|---|
沒有任何屬性 |
範例
關閉隱藏式輔助字幕
{ "command": "action.devices.commands.mediaClosedCaptioningOff", "params": {} }