最详细的【微信小程序+阿里云Web服务】开发部署指引(十):实现发音朗读


前言

上篇文章实现卡片的浏览学习功能,我们已经实现了声音播放。但是这些朗读词语的声音mp3文件是怎么生成,我们是否可以用自动化的方式来生成?

一、声音的播放

在小程序中,使用下面代码实现声音播放:

const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'http://www.xxx.cn/images/tts/test.mp3'
innerAudioContext.onPlay(() => {})

二、使用TTS生成音频文件

由于词语的中文、英文文本我们已经有了,所以可以使用TTS(Text To Speech,从文本到语音)的方式,来生成文本对应的音频文件。有一些工具和平台可以帮助我们实现,推荐百度智能云或者讯飞开放平台,这里我们以百度智能云为例。哈哈,这样BAT三个公司的平台我们都注册了一个账号,在这个案例中综合学习运用了各自一个产品。
百度智能云TTS功能,提供了一定次数的免费调用(有并发调用限制),超过一定调用次数后需要付费购买服务。所以我们将预先逐个词语文本调用服务生成音频文件,小程序运行时候播放的是已生成的音频文件;而不是每次播放都需要调用百度服务来进行TTS转换,避免一直需要付费调用的情况。

1.申请百度智能云账号

使用已有的百度账号,或者重新注册账号,登录百度智能云平台:
https://cloud.baidu.com/
在这里插入图片描述

2.创建语音技术应用

登陆后,进入“管理控制台”,点击“产品服务”,再打开“语音技术”。
在这里插入图片描述
在这里插入图片描述
点击“创建应用”,创建一个语音合成的应用。
在这里插入图片描述
在这里插入图片描述
创建后,可以获取到AppID、API Key和Secret Key,这些信息在后面程序开发调用服务时需要用到。
同时可以查看开发文档和下载不同开发平台的SDK。
在这里插入图片描述

3.文本转语音文件代码

我们使用C#来实现功能。需要应用SDK里提供的AipSdk.dll。

//应用的API Key和Secret Key
var API_KEY = "";
var SECRET_KEY = "";

//语音合成
var _ttsClient = new Baidu.Aip.Speech.Tts(API_KEY, SECRET_KEY);
_ttsClient.Timeout = 60000;  //超时时间
var option = new Dictionary<string, object>()
	{
		{"spd", 5}, //语速
		{"vol", 10}, //音量
		{"per", Convert.ToInt32(textBox3.Text)}  // 发音人——1:男声;0:女声;4:童声
	};
var result = _ttsClient.Synthesis("测试文本", option);
if (result.ErrorCode == 0)
{
	File.WriteAllBytes("E:\\TTS\\" + "test.mp3", result.Data);
	MessageBox.Show("完成");
}
else
{
	MessageBox.Show("失败:" + result.ErrorMsg);
}

看起来,直接调用SDK里的方法,代码还是比较简单的。可以实现批量生成的操作,比如查询数据库表获取所有文本内容,然后遍历调用这个方法逐个生成音频文件。


专题文章链接

最详细的【微信小程序+阿里云Web服务】开发部署指引(一):准备开始
最详细的【微信小程序+阿里云Web服务】开发部署指引(二):注册微信小程序
最详细的【微信小程序+阿里云Web服务】开发部署指引(三):开通阿里云主机
最详细的【微信小程序+阿里云Web服务】开发部署指引(四):搭建服务端数据库
最详细的【微信小程序+阿里云Web服务】开发部署指引(五):实现服务端调用逻辑
最详细的【微信小程序+阿里云Web服务】开发部署指引(六):开发微信小程序的准备
最详细的【微信小程序+阿里云Web服务】开发部署指引(七):小程序项目中的文件资源
最详细的【微信小程序+阿里云Web服务】开发部署指引(八):开发小程序卡片类型呈现功能
最详细的【微信小程序+阿里云Web服务】开发部署指引(九):开发小程序卡片浏览功能
最详细的【微信小程序+阿里云Web服务】开发部署指引(十):实现发音朗读
最详细的【微信小程序+阿里云Web服务】开发部署指引(十一):开发小程序设置功能
最详细的【微信小程序+阿里云Web服务】开发部署指引(十二):开发小程序用户反馈功能
最详细的【微信小程序+阿里云Web服务】开发部署指引(十三):小程序底部菜单
最详细的【微信小程序+阿里云Web服务】开发部署指引(十四):发布小程序
最详细的【微信小程序+阿里云Web服务】开发部署指引(十五):结语

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值