# Android体验Demo

为了让用户快速体验小微的功能,让您对小微有一个整体的感受,我们提供了一个简单的android demo,将其安装于普通安卓手机即可。在Demo中演示了语音、文本请求、资源播放、voip、扫码授权等功能。(demo需要悬浮窗权限)

Demo效果图:

demo

Demo从上至下部分功能解释:

  • demo版本号和demo din(device identify number),在体验demo时遇到问题可以将din和右下角的请求ID(图中MQXFCxxx)分发给我们。
  • 语音唤醒开关:demo中集成了一个简单的唤醒模型,打开后可使用“你好小微”唤醒。
  • 解绑:解除所有好友绑定和授权。
  • QQ音乐授权:单独使用QQ客户端、微信客户端或QQ音乐客户端扫码进行音乐授权。
  • 音乐、FM、新闻:简单的播放器界面。
  • 进入配网模式:测试中的声波配网。
  • 进入测试环境:demo可以切换后台环境。
  • 蓝牙:进入后使用小程序或APP通过蓝牙对设备配网并绑定。
  • 左下角二维码:使用微信客户端、微信小微小程序或小微官方APP扫码绑定设备。
  • 中间按钮:按一下唤醒。
  • 右下输入框:直接发起文本请求。
  • 右下角显示框:log信息。
# Demo下载地址。注意:该demo仅供测试和体验,您不得将其以任何形式投入商用。

# SDK下载

目前开放Linux平台和Android平台SDK下载,嵌入式平台请联系我们,并提供编译链。

平台 架构 下载地址 版本
Linux x64 download 4.3.1
Android arm-v7a download 4.6.0.230

# 控制层

# 设计思路

在您使用小微时,需要对小微返回的资源进行管理、播放,并根据小微的指令来控制设备,并与您自己的设备控制逻辑协调。我们提供了一份控制层的开源代码供您参考,这份代码应用于上述的demo中,此代码遵循MIT协议。

控制层主要是用于控制不同场景之间的切换,对于无屏设备,主要是声音的播放控制。例如,在播放音乐过程中用户询问天气,音乐会暂停播放,天气播放完毕后音乐自动恢复播放的功能。对于有屏设备,还有 UI 展示的控制。

# 控制层执行流程

控制层执行流程

# 控制层类图

控制层执行流程

# 控制层状态上报

小微在诸多方面均依赖设备状态,控制层完整地实现了状态上报逻辑。根据我们的条款,在您自己的应用中,也应实现这些上报。上报的时机如下:

  • 一个场景开始播放。
  • 一个场景暂停播放。
  • 一个场景恢复播放。
  • 一个资源播放完毕。
  • 一个场景播放完毕。
  • 一个资源播放被打断。

在控制层发生这些事件的时候,我们会进行回调,应用层会收ACT_REPORT_PLAY_STATE事件,由应用层进行上报。

# 声音焦点的管理

控制层参考了android系统的焦点管理,使得在复杂的状态下也能正确播放资源。控制层声音焦点的基本处理流程如图: 控制层执行流程

# 控制层代码下载地址

# Linux Sample Code

这段Linux Sample Code最小化演示了如何使用Linux版本的SDK,请参考其中的readme来使用。代码中实现了设备登录、服务初始化和语音请求,并打印了请求结果,您需要自行替换登录信息。

# 代码下载地址

# 签名工具

使用签名工具可生成签名所需的秘钥对,并对SN进行签名。详情请参考账号体系说明。

# 签名工具下载地址