开发者控制台

Alexa.PlaybackController接口 (VSK Fire TV)

Alexa.PlaybackController接口 (VSK Fire TV)

当用户发出传输控制表述(例如,Stop [停止]、Rewind [倒回]、Play [播放] 等)时,Alexa.PlaybackController接口会发送传输控制指令(PausePlayStopResumeNextPreviousFastForwardRewindStartOver)以提供控制媒体的指令。

关于传输控制指令的表述

当用户说出以下表述时,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_OPTIMIZEDDEFAULT

  • 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日