# TTS播放器
# 协议类型
| 消息类型 | 名称 | 必须实现 | 
|---|---|---|
| directive | voice_out | 是 | 
| event | tts.text_in | 否 | 
# context
"unios_context": {
  ....
  "tts_player": {
    "version": "1.0"
  },
  ...
}
 1
2
3
4
5
6
7
2
3
4
5
6
7
| 参数 | 类型 | 说明 | 必填 | 
|---|---|---|---|
| version | String | 模块版本,现在是1.0 | 是 | 
# directive
TTS播放
当接收到TTS播放指令的时候,需要使用合适的播放器来播放里面的内容
回复示例
{
  "unios_directives": [
    ...,
    {
      "header": {
        "name": "tts_player.voice_out"
      },
      "payload": {
        "url": "http://music.unios.cn/tts/sadf.mp3?token=xxxxxxxx",
        "behavior": "SERIAL",
        "metadata": {
          "text": "xxxx"
        }
      }
    }
  ]
}
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| 参数 | 类型 | 说明 | 必填 | 
|---|---|---|---|
| behavior | String | - SERIAL:串行TTS,执行时阻塞,播完TTS才可以执行下一个指令  - PARALLEL:并行,执行不阻塞,开始播放TTS时可以同时执行后续指令。若该字段未出现,默认为SERIAL  |  是 | 
| url | String | TTS播放地址(mp3格式) | 是 | 
| metadata.text | String | TTS音频的原始文本 | 是 | 
举例
当云端要通过TTS回复用户的请求时,收到的unios_directive如下:
{
  "unios_directives": [
    ...,
    {
      "header": {
        "name": "tts_player.voice_out"
      },
      "payload": {
        "url": "http://tts.unios.cn/tts/sadf.mp3?token=xxxxxxxx",
        "behavior": "SERIAL",
        "metadata": {
            "text": "北京市今天晴,零下4度到10度,和昨天的温度差不多,空气质量优"
        }
      }
    }
  ]
}
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
说明
- 当收到SERIAL的TTS时,代表这个TTS需要阻塞其他的指令,需要在这个TTS播放完成后,才可以执行后续的指令。
 - 当收到PARALLEL的TTS时,代表这个TTS不需要阻塞,当开始播放这个TTS后,就可以开始执行后续的指令。
 
# event
文本合成
有的时候,设备需要生成TTS来回复用户,此时设备可以发送文本请求,UniOS 将会把文本合成音频,然后通过unios_directive返回给一条能够播放的TTS。
请求示例
{
    "unios_header": {
        ...
    },
    "unios_context": {
        ...
    },
    "unios_event": {
        "header": {
            "name": "tts_player.tts.text_in",
            "message_id": "xxxxxxxx"
        },
        "payload": {
           "text": "fdasfdsalkjfdsakjfjffdsafdsa"
        }
    }
}
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| 参数 | 类型 | 说明 | 必填 | 
|---|---|---|---|
| unios_header | Object | 构建的通用 unios_header | 是 | 
| unios_context | Object | 构建的通用 unios_context | 是 | 
| text | String | 需要合成的文本 | 是 |