原文地址 译者:远方的自由 转载请注明出处: http://blog.csdn.net/z2066411585
Alexa语音服务(AVS)由对应于基本客户端(或产品)功能的接口组成,如音频播放,音量控制,或TTS.这些接口与内置的Alexa功能以及使用Alexa Skills Kit (ASK)开发的第三方技能有一对多的关系. 例如,Amazon Music, Flash Briefing, Audible, TuneIn 和通过ASK技能的音频流传输都依赖于AudioPlayer接口管理,控制和报告流媒体音频内容.
AVS发送指令到客户端,指示它采取行动(例如,播放一个流),并期望在执行这些操作时以特定的顺序返回事件.你必须正确实现AudioPlayer接口,以确保所有用AudioPlayer的流媒体服务按照设计工作,并且准备好产品以通过媒体认证. 该页面提供了概念性信息,定义和顺序图,以帮助你开发,集成,测试和排除故障.
让我们以一个简单的示例来说明客户端和AVS之间的预期交互.想象你正在厨房烹饪意大利面晚餐 - 手里满满的,水沸腾着-而不是拿你手机播放一些音乐,你说:“Alexa, play some music.”这里发生了什么.
一个Recognize事件包括二进制音频附件(捕获的语音)被发送到AVS.被捕获的音频将由Alexa处理并转换为一系列指令(以及潜在的相应音频附件),然后发送到你的客户端,指示其执行操作.
在这种情况下,你的客户端接收到两个指令.
在执行Play指令之前,AVS希望你的客户端处理Speak指令并发送一些列事件给AVS.在这种情况下,当你的客户端开始播放Alexa语音时,将发送一个SpeechStarted事件,并且当Alexa语音播放完成时,发送SpeechFinished事件.此时,客户端开始Play指令中包含的音频流.
当播放开始时,你的客户端发送一些列生命周期事件给AVS:
这些事件通知Alexa已经开始播放,请求下一个流并向AVS和音乐服务提供商提供进度报告信息. 在下面的章节中,我们将介绍这些事件以及何时必须发送这些事件.