# 设备状态_v1.0

上下文用来将设备状态同步至服务端。目前有以下方案进行同步你的数据。

  • 在开始录音的时候
  • 每次应用启动的时候
  • 每15分钟同步一次

# 播放器状态

# 消息样式

{
  "header": {
    "namespace": "AudioPlayer",
    "name": "PlaybackState"
  },
  "payload": {
    "token": "S0wiXQZ1rVBkov...",
    "offsetInMilliseconds": 60000,
    "playerActivity": "PLAYING"
  }
}

payload参数

参数名 说明 类型
token 此token需要和当前正在播放的音频文件的token,或上一次接收的Play指令下发的token的一致。 String
offsetInMilliseconds 当前播放进度 Long
playerActivity 目前音频播放器控件的状态
可取值:IDLE, PLAYING, STOPPED, PAUSED, BUFFER_UNDERRUN, FINISHED
String
状态 描述
IDLE 空闲
PLAYING 正在播放
PAUSED 播放暂停
BUFFER_UNDERRUN 缓冲
FINISHED 播放完成
STOPPED 播放停止

# 闹钟状态

# 消息样式

{
  "header": {
    "namespace": "Alerts",
    "name": "AlertsState"
  },
  "payload": {
    "allAlerts": [
      {
        "token": "S0wiXQZ1rVBkov...",
        "type": "TIMER",
        "scheduledTime": "2018-08-06T16:13Z"
      }
    ],
    "activeAlerts": [
      {
        "token": "S0wiXQZ1rVBkov...",
        "type": "TIMER",
        "scheduledTime": "2018-08-06T16:13Z"
      }
    ]
  }
}

payload参数

参数名 说明 类型
allAlerts 所有提醒的键值对 Object
allAlerts.token 提醒的token,在提醒设置时生成 String
allAlerts.type 提醒的种类。 取值: TIMER, ALARM, REMINDER String
allAlerts.scheduledTime 提醒的时间,ISO 8601格式 String
activeAlerts 所有活跃的提醒的及键值对 Object
activeAlerts.token 提醒的token,在提醒设置时生成 String
activeAlerts.type 提醒的种类。 取值: TIMER, ALARM, REMINDER String
activeAlerts.scheduledTime 提醒的时间,ISO 8601格式 String

# 设备音量

# 消息样式

{
  "header": {
    "namespace": "Speaker",
    "name": "VolumeState"
  },
  "payload": {
    "volume": 78,
    "muted": false
  }
}

payload参数

参数名 说明 类型
volume 设备音量的绝对数值。
取值: 0到100之间
Long
mute 静音的布尔值,静音取值TRUE,取消静音取值FALSE Boolean

# 语音合成状态

# 消息样式

{
  "header": {
    "namespace": "SpeechSynthesizer",
    "name": "SpeechState"
  },
  "payload": {
    "token": "S0wiXQZ1rVBkov...",
    "offsetInMilliseconds": 60000,
    "playerActivity": "PLAYING"
  }
}

payload参数

参数名 说明 类型
token Speak指令提供的token String
offsetInMilliseconds 当前TTS的播放进度,毫秒为单位 Long
playerActivity 语音合成控件的状态。 取值: PLAYING, FINISHED String

# 设备状态

涉及到天气的时候,我们需要知道用户的地理位置

# 消息样式

{
  "header": {
    "namespace": "Device",
    "name": "DeviceState"
  },
  "payload": {
    "location": {
      "latitude": 22.87,
      "longitude": 23.69
    },
    "deviceId": "f78b7d68..."
  }
}

payload参数

参数名 说明 类型 必须出现
location.latitude 纬度 DOUBLE
location.longitude 经度 DOUBLE
deviceId 设备的唯一ID String

# 自定义状态

开发者自定义状态

# 消息样式

{
  "header": {
    "namespace": "Custom",
    "name": "Custom"
  },
  "payload": {
    // 自定义状态
  }
}

# 和上下文有关的设备能力接口