前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AVS之AudioPlayer概述(一)

AVS之AudioPlayer概述(一)

作者头像
程序手艺人
发布2022-05-10 21:00:02
4360
发布2022-05-10 21:00:02
举报
文章被收录于专栏:程序手艺人程序手艺人

原文地址 译者:远方的自由 转载请注明出处: 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处理并转换为一系列指令(以及潜在的相应音频附件),然后发送到你的客户端,指示其执行操作.

在这种情况下,你的客户端接收到两个指令.

  • 第一, Speak指令指示你的客户端播放Alexa语音,例如, “Shuffling your music”.
  • 第二,Play指令指示你的客户端开始播放音乐

在执行Play指令之前,AVS希望你的客户端处理Speak指令并发送一些列事件给AVS.在这种情况下,当你的客户端开始播放Alexa语音时,将发送一个SpeechStarted事件,并且当Alexa语音播放完成时,发送SpeechFinished事件.此时,客户端开始Play指令中包含的音频流.

当播放开始时,你的客户端发送一些列生命周期事件给AVS:

  • 当播放开始时,发送PlaybackStarted.发送给AVS的offsetInMilliseconds应该匹配Play指令中提供的偏移量.
  • 当你的客户端准备好缓冲/下载播放队列中的下一个音频流时,发送PlaybackNearlyFinished.许多实现,在PlaybackStarted不久后就发送这个事件来开始缓冲并减少流之间的播放延迟.
  • 如果Play指令中存在progressReportDelayInMilliseconds,ProgressReportDelayElapsed发送到AVS.
  • 如果Play指令中存在progressReportIntervalInMilliseconds,ProgressReportIntervalElapsed发送到AVS.
  • 当客户端完成播放流时,发送PlaybackFinished
  • 当客户端接收到Stop指令并停止播放,则会发送PlaybackStopped

这些事件通知Alexa已经开始播放,请求下一个流并向AVS和音乐服务提供商提供进度报告信息. 在下面的章节中,我们将介绍这些事件以及何时必须发送这些事件.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档