欢迎关注我的微信公众号“人小路远”哦,在这里我将会记录自己日常学习的点滴收获与大家分享,以后也可能会定期记录一下自己在外读博的所见所闻,希望大家喜欢,感谢支持!
最新国内新型冠状病毒肆虐,家人也作为基层干部投入一线进行防疫宣传。要用到大喇叭向社区内播放宣传文案,但自己录音又觉得不够正式。恰巧之前做比赛的时候有使用过百度语音合成api,可以由文字直接转为音频。一看代码还在,干脆整理出来方便下次直接使用,也和大家一起分享。
1、注册账号创建应用
官网注册百度账号,并在语音技术下面创建应用。
填写应用信息并通过审核之后可以获得AppID、API Key、Secret Key。
2、换取token
使用刚才生成的API Key、Secret Key 访问https://openapi.baidu.com/oauth/2.0/token 换取 token。
例:将以下https链接中的参数换为自己的之后,在浏览器地址栏中进行访问。
// appKey = Va5yQRHl********LT0vuXV4
// appSecret = 0rDSjzQ20XUj5i********PQSzr5pVw2
https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHl********LT0vuXV4&client_secret=0rDSjzQ20XUj5i********PQSzr5pVw2
得到结果如下:
{
"access_token": "1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328",
"expires_in": 2592000,
"refresh_token": "2.385d55f8615fdfd9edb7c4b********.604800.1293440400-2346678-124328",
"scope": "public audio_tts_post ...",
"session_key": "ANXxSNjwQDugf8615Onqeik********CdlLxn",
"session_secret": "248APxvxjCZ0VEC********aK4oZExMB",
}
scope中含有audio_tts_post 表示有语音合成能力,没有该audio_tts_post 的token调用接口会返回502错误。
在结果中可以看见 token = 1.a6b7dbd428f731035f771b8d****.86400.1292922000-2346678-124328,在2592000秒(30天)后过期。
3、更改示例代码
根据自己的使用需求和代码环境,将示例代码中的token换为自己的即可。
其实官方已经提供了非常详细的接口文档和示例代码、浏览器跨域demo,有功夫折腾的建议多看看官方文档,没工夫折腾只想拿到音频的可以直接点这里,但这是我个人的账号,用一两次就算了,别瞎整。Firefox浏览器中可能会失败,因为从 Firefox 23 开始,浏览器会默认阻止 HTTPS 页面中可能影响网页安全的 HTTP 请求(即阻止 Mixed Active Content)。Google Chrome浏览器测试通过。