智慧型住宅 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 |
整數 |
必填。 向前 (正整數) 或向後 (負整數) 尋找的毫秒數。 |
範例
快轉 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": {}
}