Alexa.PlaybackController接口 (VSK Fire TV)
当用户发出传输控制表述(例如,Stop [停止]、Rewind [倒回]、Play [播放] 等)时,Alexa.PlaybackController
接口会发送传输控制指令(Pause
、Play
、Stop
、Resume
、Next
、Previous
、FastForward
、Rewind
、StartOver
)以提供控制媒体的指令。
PlaybackController
。媒体会话提供了相同的功能,延迟更少、客户体验更一致。有关详细信息,请参阅步骤2: 与MediaSession集成。关于传输控制指令的表述
当用户说出以下表述时,Alexa会向您的应用(用于仅限应用的集成)或您的Lambda(用于云端集成)发送传输控制指令。
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
pause |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
Play |
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
stop |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
Resume |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
Start over |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
Fast Forward |
媒体快进10秒。 |
倒回 需要认证 |
Rewind |
媒体倒回10秒。 |
上一个 需要认证 |
Previous |
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
Next |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
pause / mets sur pause |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
joue |
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
arrête / stop / stoppe |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
Not supported |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
recommence |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
avance fast forward |
媒体快进10秒。 |
倒回 需要认证 |
rewind rembobine |
媒体倒回10秒。 |
上一个 需要认证 |
précédent(e) |
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
prochain(e) suivant(e) next |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
pause / mets sur pause |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
joue |
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
arrête / stop / stoppe |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
Not supported |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
recommence |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
avance |
媒体快进10秒。 |
倒回 需要认证 |
rembobine |
媒体倒回10秒。 |
上一个 需要认证 |
précédent(e) |
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
prochain(e) suivant(e) next |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
pause pausier [DeviceLocation] pausier auf? [DeviceType] pause auf? [DeviceLocation]? [DeviceBrand] pausier [AppName] pausier überall |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
spiel auf? [DeviceBrand] spiel auch? auf [DeviceType] [DeviceBrand]? spiel hier auch spiel etwas anderes |
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
stopp halt an hör auf stopp [DeviceLocation] stopp [DeviceBrand] stopp [DeviceType] stoppe auf dem [DeviceLocation] [DeviceBrand] |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
fortsetzen das fortsetzen |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
neu starten spiel vom anfang start von vorn von anfang an abspielen von vorne auf [DeviceBrand] abspielen beginne erneut noch mal von vorne noch einmal beginnen |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
spul vor spul auf? [AppName] vor |
媒体快进10秒。 |
倒回 需要认证 |
spul zurück spul [AppName] zurück spul auf? [DeviceBrand] zurück spul [DeviceBrand] [Duration] zurück |
媒体倒回10秒。 |
上一个 需要认证 |
vorherige vorheriges zurück eins zurück geh zurück geh zum vorherigen vorheriges auf dem [DeviceLocation]? [DeviceBrand] spring/geh zurück/nach hinten auf [AppName] vorheriges auf [DeviceLocation] [DeviceType] vorheriges video/kanal auf [DeviceLocation] [DeviceType] überall vorheriges auf allen [DeviceType] vorheriges |
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
nächste nächstes das nächste spring/geh vor spring/geh vorwärts vor überspring das eins weiter/vorwärts weiter spring nach vorn spring nach vorn auf [AppName]/[DeviceBrand] nächstes im [DeviceLocation] nächstes auf [DeviceLocation]? [DeviceType]/[DeviceBrand] gib mir das nächste von [AppName] nächstes auf allen [DeviceType] |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
pause रोको एक second रुक जाओ एक second wait करना एक second pause हो जाओ ठहरना ज़रा थम जा freeze[Anaphor] को रोक दो[AppName] को pause कर दो मेरे [DeviceLocation] [Device] को pause करना मेरे [DeviceLocation] [DeviceType] को pause करना[DeviceLocation] पे/पर Device को रोक दो ज़रा |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
[SportsTeam] का [Event] लगा/चला दो [ActiveUserTrigger] [DeviceBrand] पर लगाओ/चलाओ [Country] में जो [SortType] है लगाओ/चलाओ [Country] से [Date] के [SortType] लगा/बजा देना [Anaphor] [Device] पर बजाएँ/लगाएँ [ListPosition] [Anaphor] लगा/बजा दीजिये [Country] के [City] में [SortType] है बजाओ/लगाओ [League] [Event] लगा/बजा दीजिये [Anaphor] play करो [ActiveUserTrigger] [Date] ही के [SortType] बजाओ [SportsTeam] versus [SportsTeamOpponent] का Event लगा दे [League] [Event] का [Version] चलाओ [Anaphor] [ActiveUserTrigger] [Device] पर लगा दो [ListPosition] बजा दो [Sport] [Event] लगाइए/बजाइए [Date] [Anaphor] play करो [DeviceLocation] पे [DeviceBrand] बजाओ/लगाओ |
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
चुप हो जाओ/बस कर/quiet/चुप/शांत/शांति/shush/मुँह बंद करो stop [Anaphor] बंद करो/रोको [Anaphor] [Anaphor] stop/बंद करो/रोको [Anaphor] [MediaType] बंद करना stop [AppName] [AppName] बंद stop [Device] [Device] रोको stop [LocationNonSpecificQuantity] [LocationNonSpecificQuantity] stop/रोको stop [DeviceLocation] [DeviceLocation] stop/रोको stop [MediaType] [MediaType] stop/रोको |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
जारी रखो resume करो |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
फिर से चलाओ फिर से शुरू करो |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
[AppName] पर थोड़ा आगे कर दो[AppName] में fast forward करें[Anaphor] आगे/forward करनाfast forward करो[Anaphor] आगे करना ज़रा[Anaphor] वाले को आगे बढ़ाओ |
媒体快进10秒。 |
倒回 需要认证 |
थोड़ा reverse/rewind/पीछे करोrewind[AppName] को rewind करो[Anaphor] reverse/rewind/पीछे करो[DeviceLocation] के [Device] को rewind करना |
媒体倒回10秒。 |
上一个 需要认证 |
previous/पीछे/पिछला/पिछलीprevious/पीछे/पिछला/पिछली वाली recipe [VisualModeTrigger][Anaphor] वापस जाओprevious/पीछे/पिछला/पिछली [Anaphor] पर वापिस जाओ पिछला वाला [Episode][Anaphor] पहला वाला [Episode] पर जानाprevious [LocationNonSpecificQuantity][LocationNonSpecificQuantity] previous/पीछे/पिछला/पिछली वाला लगाओ[DeviceBrand] पे पिछलाprevious/पीछे/पिछला/पिछली वाला [DeviceBrand][Anaphor] [DeviceBrand] पर previous/पीछे/पिछला/पिछली वाला[DeviceLocation] के [DeviceBrand] पर पिछला वाला[AppName] में पिछली वाली पर वापस जाओprevious/पीछे/पिछला/पिछली वाला [AppName] पर जा[ActiveUserTrigger] [Quantifier] [DeviceType] में पीछे जाओ पिछला [MediaType] play करो |
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
[GroupDeviceBrand] [HomeAutomationType] पर अगला लगाओ[GroupDeviceBrand] पर अगला लगाओ[GroupDeviceBrand] वाले [HomeAutomationType] पर अगला चलाना[AppName] पर इसके बाद वाला दो[AppName] पर मुझे next वाला दे देनाnext recipe अगली recipe[DeviceLocation] पर इसके बाद वाला दो[LocationNonSpecificQuantity] अगला चलाओ अगला/next [Episode] play करो[DeviceLocation] पर DeviceBrand अगला वाला दो |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
metti in pausa / voglio mettere in pausa / posso mettere in pausa |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
riproduci /metti / fai partire
|
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
stop / ferma / spegni / smetti / basta / stoppa |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
riprendi |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
ricomincia |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
manda avanti / vai avanti / avanti veloce |
媒体快进10秒。 |
倒回 需要认证 |
vai indietro / mandalo indietro / indietro veloce / torna indietro |
媒体倒回10秒。 |
上一个 需要认证 |
ritorna al precedente / vai indietro di uno / precedente / torna indietro / indietro |
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
prossima / seguente / avanti / salta / successivo |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
ポーズ 一旦停止 一旦止めて[Anaphor]で一時停止[AppName]を一旦停止[DeviceLocation]の[DeviceBrand]をポーズして[DeviceLocation]の[DeviceType]を一時停止[DeviceBrand]をポーズして[DeviceType]を一旦停止して |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
[SportsTeam]の[Event]を再生して[Country]で[SortType]のやつかけて[Country]で[Date][SortType]のやつ流して[ListPosition]の[Anaphor]再生[Country]の[City]で[SortType]のやつストリームして[City]で[SortType]のやつ再生して[League]の[Event]かけて[MediaPlayer]で[AppName]を再生して[ActiveUserTrigger][SortType]を再生して[SportsTeam]対[SportsTeamOpponent]の[Event]をかけて[Version]の[League]の[Event]をストリームして[Sport]の[Event]を再生して[ActiveUserTrigger][DeviceBrand]でストリームして[DeviceBrand]でかけて[DeviceLocation]の[DeviceBrand]で流して |
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
ストップ/して とめて 停止して もういい もういいや もういいよ もういいです 黙れ 中止 中止して 終了/して/[Quantifier]止めて[DeviceLocation]での再生を止めて[DeviceLocation]の[DeviceBrand]での再生をストップ[DeviceBrand]の再生止めて[DeviceType]をとめて[AppName]を終了[Anaphor]止めて |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
再開して |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
最初から始めて |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
[AppName]早送り[MediaType]を早送りして |
媒体快进10秒。 |
倒回 需要认证 |
巻き戻して [AppName]巻き戻して[MediaType]巻き戻し [DeviceLocation]の[DeviceType]巻き戻し |
媒体倒回10秒。 |
上一个 需要认证 |
|
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
次 スキップ 次に行って[DeviceLocation]で次に行って[DeviceLocation]の[DeviceBrand]で次に行って[LocationNonSpecificQuantity]で次を再生[Episode]を再生して[VideoName]の[Episode]を再生[DeviceBrand]で再生 |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
pausar/interromper |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
tocar/assistir/reproduzir
|
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
parar |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
continuar/ continue/continua |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
começar/começa/comece de novo |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
avançar/ ir para frente |
媒体快进10秒。 |
倒回 需要认证 |
voltar/retroceder/rebobinar |
媒体倒回10秒。 |
上一个 需要认证 |
|
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
próximo/próxima |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
功能 | 表述示例 | 预期回应 |
---|---|---|
暂停 需要认证 |
pausa |
媒体暂停,类似于按下网络播放器或遥控器上的 “Pause”(暂停)按钮。 |
播放 需要认证 |
pon reproduce |
媒体播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
停止 需要认证 |
para |
媒体停止,类似于按下网络播放器或遥控器上的 “Stop”(停止)按钮。 |
恢复 需要认证 |
continúa |
媒体恢复播放,类似于按下网络播放器或遥控器上的 “Play”(播放)按钮。 |
重新开始 需要认证 |
empieza de nuevo vuelve a empezar comienza de nuevo vuelve a iniciar vuelve a comenzar |
媒体重新开始,将搜索位置调整回媒体的开头。 |
快进 需要认证 |
adelanta |
媒体快进10秒。 |
倒回 需要认证 |
rebobina |
媒体倒回10秒。 |
上一个 需要认证 |
anterior |
播放上一剧集。如果这不适用,则将用户转到当前播放列表中更早的任何内容。 |
下一个 需要认证 |
siguiente salta muestra el siguiente siguiente en el sonos próxima en el jardín |
播放下一剧集。如果这不适用,则将用户转到当前播放列表中接下来的任何内容。 |
与其他指令一样,当您收到Discover
指令时,必须指定您的视频技能支持的PlaybackController
功能。
处理PlaybackController指令
PlaybackController
接口发送几种类型的指令,将在以下各部分中介绍每种指令。
请求示例
EXTRA_DIRECTIVE_NAMESPACE: Alexa.PlaybackController
EXTRA_DIRECTIVE_NAME: <传输控制命令>
EXTRA_DIRECTIVE_PAYLOAD_VERSION: 3
EXTRA_DIRECTIVE_PAYLOAD: payload
payload
包含一个可选字段:
"payload": {
"experience": {
"mode": "VOICE_OPTIMIZED",
}
}
对于<传输控制命令>,值可以是以下任意项:
pause
play
stop
resume
rewind
fastForward
previous
next
startOver
payload
包含一个空对象:{}
{
"directive": {
"header": {
"namespace": "Alexa.PlaybackController",
"name": "<传输控制命令>",
"messageId": "abc-123-def-456",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-skill"
},
"endpointId": "VSKTV",
"cookie": {
}
},
"payload": {
"experience": {
"mode": "VOICE_OPTIMIZED",
}
}
}
}
对于<传输控制命令>
,值可以是以下任意项:
pause
play
stop
resume
rewind
fastForward
previous
next
startOver
payload
包含一个空对象:{}
体验类型
有效负载包含一个可选字段,即experience
对象。使用experience
对象根据用于执行搜索的设备优化搜索结果的显示。例如,如果客户通过Fire TV遥控器进行搜索,则experience
对象会显示大量的搜索结果,客户可以使用遥控器浏览这些结果。但是,如果搜索请求来自与Fire TV配对的Echo,则experience
对象会限制显示的结果数量及其显示方式,从而让客户可以无需使用遥控器即可查看结果。
experience
对象由一个mode
对象组成,后者决定如何显示搜索结果。mode
对象采用两个值: VOICE_OPTIMIZED
和DEFAULT
。
-
VOICE_OPTIMIZED
: 针对纯语音设备的搜索结果优化的显示。提供结果列表,客户无需遥控器即可通过语音浏览这些结果。 -
DEFAULT
: 所有搜索结果列表格式的默认显示,无论使用哪种设备进行搜索。
为确保向前兼容性,如果在mode
中收到未知值,可回退到DEFAULT
,而不是遭遇失败。
处理PlaybackController指令
PlaybackController
指令包含媒体播放期间使用的传输控制命令。许多操作类似于用户按下遥控器上的等效按钮时的等效操作。以下各部分为处理各种PlaybackController
指令提供了所需的指导。
Pause指令
pause
应采用与用户按下遥控器上的Pause(暂停)按钮相同的操作。
Play指令
play
应采用与用户按下遥控器上的Play(播放)按钮相同的操作。
Stop指令
stop
应请求停止音频或视频内容的播放。
Resume指令
resume
应采用与用户通过遥控器取消暂停播放相同的操作(即,在先前已暂停播放后按下“play”按钮)。
Next指令
next
应该将用户转到下一集。如果不可行,则应将用户转到您选择向观众展示的下一个相关视频内容(或您选择使用的播放列表中的任何其他内容)。
Previous指令
previous
应该将用户转到上一集。如果这不可行,它会将用户转到您选择使用的播放列表中任何之前的内容。
FastForward指令
fastForward
应将播放速度快进30秒。不要使用缓慢移动的光标将用户转到快进屏幕,就如同他们在通过遥控器快进一样。另外,在已经通过语音请求快进之后,不需要用户说出“Alexa, play”(Alexa,播放)。用户更喜欢直接快进30秒,并在使用此命令时自动恢复播放。如果您希望快进更大幅度,可以使用SeekController指令。
Rewind指令
rewind
应将播放时间倒退30秒。不要使用缓慢移动的光标将用户转到倒回屏幕,就如同他们在通过遥控器倒回一样。另外,在已经通过语音请求倒回之后,不需要用户说出“Alexa, play”(Alexa,播放)。用户更喜欢直接倒回30秒,并在使用此命令时自动恢复播放。如果您希望倒回更大幅度,可以使用SeekController指令。
StartOver指令
startOver
应从音频或视觉内容的开头开始播放。
响应示例
如果您的应用成功处理了该指令,则您的BroadcastReceiver类应连同成功状态将成功意图发回,如下所示:
if (response != null && sendResponse) {
Intent success = new Intent().putExtra(VSKIntentConstants.EXTRA_DIRECTIVE_STATUS, didSucceed);
try {
response.send(context, 0, success);
} catch(PendingIntent.CanceledException e) {
// 我们进行回复、记录错误可能花了太长时间
}
}
有关更多详细信息,请参见步骤7: 添加广播接收器。另请参阅示例应用中的AlexaDirectiveReceiver
类,以获取更具体的代码示例。
当您收到来自PlaybackController
接口的传输控制指令时,向Alexa发回响应。
{
"context": {
"properties": []
},
"event": {
"header": {
"messageId": "abc-123-def-456",
"namespace": "Alexa",
"name": "Response",
"payloadVersion": "3"
},
"endpoint":{
"endpointId":"VSKTV"
},
"payload":{ }
}
}
如果您由于某种原因无法完成客户请求,可以用错误来回应。有关更多详细信息,请参阅错误处理。
声明此接口的功能支持
要在应用中接收PlaybackController
指令,必须在声明功能时表示支持此接口。有关通过仅限应用的集成声明功能的更多信息,请参阅以下内容:
要让Alexa将PlaybackController
指令发送至您的Lambda,您必须在响应通过Alexa.Discovery
接口发送的Discover
指令时指明支持该接口。Alexa.Discovery
中提供了更多详细信息。
Last updated: 2021年6月9日