在uni-app中使用百度API实现实时文字转语音播报(百度PAI短文本转语音)TTS

6,673 阅读2分钟

短文本转语音实时播报

1. 注册百度语音账号使用其API地址如下:

ai.baidu.com/tech/speech
注册成功后再控制台找到自己想要使用的技术

image.png

2.进入到语音技术后。

(1)首先领取语音合成这项资源(2)然后创建应用拿到自己的key和密钥后续会用到(3)点击技术文档看文档

image.png

3.查看技术文档的短文本在线合成

image.png

3.1第一步需要获取token

请求地址:

aip.baidubce.com/oauth/2.0/t…

image.png

3.1.1 uni中的示例代码如下

image.png

3.2 文本转音频

当成功拿到token后需要去以下地址去拿到音频信息。

正式地址:tsn.baidu.com/text2audio 或 tsn.baidu.com/text2audio post请求与get都可以拿到音频地址。

3.2.1 官方文档参考

image.png

3.2.2使用api测试文档拿到音频效果如下:

image.png

3.2.3 音频文件返回是video形式的不能这样接收(经过多次测试后发现)

用接口测试拿到的返回结果是乱码的 所以无法直接获取到音频文件。

image.png

3.2.4 我的思路就是既然返回的直接是一个vidoe音频。既然是post和get请求都可以,那么直接将src请求路径放入video中<video src='请求的路径'></video>

在页面上写一个video标签 然后通过计算属性拼接出src的路径即可。最后是路径直接返回音频文件即可播放(亲测有效)。这样还可以实现实时循环播放,传递的src不同 就可播放不同的音频。在这里将音频文件隐藏,因为不要显示,如果有需要可将video的控件自行书写。 还有就是路径后面的参数参考3.2.1或者参考官方文档 image.png

4.出现其他错误文档也有详细说明

image.png

5. 参考的官方示例github地址

案例在POSTMAN下 使用其他api软件也可以测试 github.com/Baidu-AIP/s…