音频标签的src问题和百度音频合成工具
2017-05-04 12:19
176 查看
最近在做项目,做一个智能聊天web项目,其中就涉及一个智能机器人的说话问题,我的天,烦到死!
下面抛出原html代码:
var result="***";
var obj=$("<audio src='http://tsn.baidu.com/text2audio?tex="+result+"&lan=zh&cuid=123&ctp=1&tok=24.****aa549e8bf1d18e1143d39923e3bf.2592000.1496419719.282335-9600439' autoplay='autoplay'></audio>");
$("body").remove("audio");
$("body").append(obj); result是返回给页面的智能机器人要说的话。
当然这个是可以调通的。我来写一写我调试的心路历程。
首先是这段网址:tsn.baidu.com/......;分析这段网址,很明显tsn.baidu.com/text2audio?tex=**&ctp=**后面是需要传递的参数。那么这些参数都代表这什么含义呢?
进入这段网址http://yuyin.baidu.com/docs/tts/136 ,在语音合成REST API 下的 API请求方式基本说明中有详细提到。其他参数都好处理,就是这个tok (access_token)有点麻烦。获取access_token需要申请服务。那就申请呗,API Key 和Secret Key都获取到了,接着就请求token了。问题又出现了!你复制这行网址
换上自己的API Key 和Secret Key到浏览器请求,报错,参数形式不对!!
Too young too simple。你得这样写https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=R6UwD9ELRg1RxImTO35s****&client_secret=b29a6d60e46e841a111d9066c6d0****& 复制是没有用的,中间有回车换行,厉害了吧,建议自己在txt文件中拼接好再复制请求。
请求拿到了tok,你以为就大功告成??小伙子,我欣赏你哦!!!
添加上tok,tsn.baidu.com/text2audio?tex=您好!&lan=zh&cuid=123&ctp=1&tok=24.****aa549e8bf1d18e1143d39923e3bf.2592000.1496419719.282335-9600439在地址复制到刚在那段代码,可以听到声音,很激动。拼接到代码,没音儿!!!此时 已是凌晨了。。。
于是查看audio标签用法,这里负责W3School的代码:
<!DOCTYPE HTML>
<html>
<body>
<audio src="/i/horse.ogg" controls="controls">
Your browser does not support the audio element.
</audio>
</body>
</html>当然在网页上是可以播放的,换上自己的音频文件也可以播放。但是换上自己url,还是哑巴。然后不知道是哪一次尝试,添加了一个https://。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
出声了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
睡觉!
下面抛出原html代码:
var result="***";
var obj=$("<audio src='http://tsn.baidu.com/text2audio?tex="+result+"&lan=zh&cuid=123&ctp=1&tok=24.****aa549e8bf1d18e1143d39923e3bf.2592000.1496419719.282335-9600439' autoplay='autoplay'></audio>");
$("body").remove("audio");
$("body").append(obj); result是返回给页面的智能机器人要说的话。
当然这个是可以调通的。我来写一写我调试的心路历程。
首先是这段网址:tsn.baidu.com/......;分析这段网址,很明显tsn.baidu.com/text2audio?tex=**&ctp=**后面是需要传递的参数。那么这些参数都代表这什么含义呢?
进入这段网址http://yuyin.baidu.com/docs/tts/136 ,在语音合成REST API 下的 API请求方式基本说明中有详细提到。其他参数都好处理,就是这个tok (access_token)有点麻烦。获取access_token需要申请服务。那就申请呗,API Key 和Secret Key都获取到了,接着就请求token了。问题又出现了!你复制这行网址
https://openapi.baidu.com/oauth/2.0/token?
grant_type=client_credentials&
client_id=Va5yQRHl********LT0vuXV4&
client_secret= 0rDSjzQ20XUj5i********PQSzr5pVw2&
换上自己的API Key 和Secret Key到浏览器请求,报错,参数形式不对!!
Too young too simple。你得这样写https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=R6UwD9ELRg1RxImTO35s****&client_secret=b29a6d60e46e841a111d9066c6d0****& 复制是没有用的,中间有回车换行,厉害了吧,建议自己在txt文件中拼接好再复制请求。
请求拿到了tok,你以为就大功告成??小伙子,我欣赏你哦!!!
添加上tok,tsn.baidu.com/text2audio?tex=您好!&lan=zh&cuid=123&ctp=1&tok=24.****aa549e8bf1d18e1143d39923e3bf.2592000.1496419719.282335-9600439在地址复制到刚在那段代码,可以听到声音,很激动。拼接到代码,没音儿!!!此时 已是凌晨了。。。
于是查看audio标签用法,这里负责W3School的代码:
<!DOCTYPE HTML>
<html>
<body>
<audio src="/i/horse.ogg" controls="controls">
Your browser does not support the audio element.
</audio>
</body>
</html>当然在网页上是可以播放的,换上自己的音频文件也可以播放。但是换上自己url,还是哑巴。然后不知道是哪一次尝试,添加了一个https://。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
出声了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
睡觉!
相关文章推荐
- 关于Audio标签的src路径包含中文时音频无法的问题
- html <img>标签 src=""内的图片路径问题
- 解决chromium对html5 标签的 mp3 等视频音频网页的兼容性问题
- tomcat服务器下打不开img标签src的图片名为中文打不开的问题?
- 浅谈Html5中视频 音频标签 进度条的问题
- 百度ueditor组件上传图片后如何设置img标签里的src、title、alt等属性
- img标签src为空引发两次请求页面的问题
- 在使用img标签的src属性引用网络图片资源时加载图片失败的问题
- img标签src为空引发两次请求页面的问题
- 百度工具问题百度站长工具中的抓取异常准确吗?
- 更改img标签src属性来换图时浏览器不改变问题
- javascript修改IMG标签的SRC刷新问题
- 解决node-webkit下使用<audio>标签无法播放音频的问题
- js改变img标签的src属性在IE下出问题的解决方法
- 动态修改script标签中的src属性存在的问题
- 百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决
- 非IE浏览器 img标签 src值为空时,2次请求问题
- 非IE浏览器 img标签 src值为空时,2次请求问题
- javascript修改IMG标签的src问题
- 在项目(新闻内容系统)中,运用百度编辑器内容存入数据库(包括html标签),怎么运用工具来转换成text(不带html标签)!