nodejs 调用百度TextToSpeech的api
来源:互联网 发布:c语言如何产生随机数 编辑:程序博客网 时间:2024/06/01 07:32
1.概述
实现对 ‘http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字‘ 这个百度TextToSpeech文字转语音api的使用,生成一个mp3文件。
2.代码:
server.js
var path = require('path')var http = require('http')var querystring = require('querystring')var fs = require('fs')var data = querystring.stringify({ "lan": "zh", "ie": "UTF-8", "spd": 3, "text": '小可爱你超级可爱的嘿嘿嘿爱你哦'})var option = { 'method':'get', 'hostname':"tts.baidu.com", 'path':'/text2audio?'+ data}var req = http.request(option,function(res){ var chunks=[]; res.on('data',function(chunk){ chunks.push(chunk); }); res.on('end',function(){ console.log(chunks); var mybuffer=Buffer.concat(chunks); var filePath = path.normalize('./voice.mp3'); // fs模块写文件 fs.writeFileSync(filePath, mybuffer); })})req.end();
3.分析
(1) 运行node server.js即可在文件夹找到voice.mp3文件。本程序使用了百度api,主要学习http.request的使用以及对于buffer的处理。
(2)http.request(option,callback()); option中设定访问方式为get还是post,hostname以及path ,path中需要host之后的路径以及参数,这里的参数通过querystring把对象序列化成一个 URL 查询字符串的对象。(比如:querystring.stringify({ foo: ‘bar’, baz: [‘qux’, ‘quux’], corge: ” });
// 返回 ‘foo=bar&baz=qux&baz=quux&corge=’)
(3)请求返回的Buffer文件可直接写入mp3文件,Buffer为nodejs读取或操作二进制数据流的缓冲类型,Buffer.concat() 参数为多个buffer拼接的数组,方法返回的是拼接得到的一个buffer类型结果,然后创建mp3文件,用fs.writeFileSync(filePath, mybuffer)写入buffer数据。
(4)注意最后一定要运行req.end()方法,这个是必须的,否则无法得到数据。
阅读全文
0 0
- nodejs 调用百度TextToSpeech的api
- 百度翻译API的调用
- 百度地图API的调用
- [API]百度地图的调用
- 如何调用百度的api
- 百度翻译API的简单调用
- 百度OCR api 的python 调用
- 百度地图api的调用实例
- Android 百度API调用
- 调用百度翻译API
- 调用百度API
- 调用百度api
- 百度API调用实例
- 百度调用API
- AJAX调用百度API
- 百度地图api调用
- Python 调用百度API
- python百度api调用
- 【Linux】ALL常用命令
- 整数中1出现的次数(从1到n中出现的次数)
- 第3章 Python笔记 使用字符串
- httpurlconnectionget
- js数字转换货币格式
- nodejs 调用百度TextToSpeech的api
- 组合数取模的各种方法
- 欢聚时代”狼人杀“产品岗面试总结——产品岗
- 关于数组中排序方法的实现
- 编程高手与调试高手
- StreamTools 工具
- LightOJ
- 动态规划:HDU2159-FATE(二维费用的背包问题)
- Socket编程上篇-----服务器监听与连接