山东大学项目实训(七)

一、WebTtsService的编写

这一周主要对文本转语音功能进行了实现,可以实现前端返回文本内容后,然后利用Service类,进行基本的文本转语音,传给前端一个base64码。Service类实现如下:

 

二、bug修改

1.只能生成第一次的语音

这里有一个小bug就是实现后,前端每次只能生成第一次的语音文件。然后经过分析保存语音base64码的方法得知,问题可能出现在wsCloseFlag的管理上,在这个方法体内,我利用了websocketWork方法来进行文本合成语音,并且在合成完成后返回音频的base64编码字符串。但是在调用这一方法的同时,也在等待flag的状态变化,以确定语音合成过程是否完成。

但是在第一次调用这一个方法的时候,可以正确等待语音合成并返回音频,但是在后续调用时,检查代码发现flag已经呗设置为true,导致立即返回,而没有等待语音合成完成。

为了解决这个问题,解决如下

2.查看前端打印的信息audio为''

发现这个问题由两处产生

1.后端未生成音频文件或返回音频数据:后端生成音频文件失败,于是无法将其返回给前端。后端没有生成音频文件或者生成的文件为空,那么在前端就会收到空字符串。

2.前端未正确处理音频数据:即使后端返回了正确的音频数据,但如果前端在处理这些数据时出现了问题,也会导致空字符串的情况。

后端调整了flag,然后在前端调整了获取的内容

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值