c# 调用有道智云翻译接口+语音组件tts
先去有道智云申请, 我的是 扣扣登录的
https://ai.youdao.com/login.s 登录页面
https://ai.youdao.com/docs/doc-trans-api.s#p01 接口文档
https://ai.youdao.com/docs/doc-trans-api.s#p10 c#代码
如果是文本翻译
创建应用。 绑定服务
如果需要语音读出来,需要创建 语音合成tts 实例
以上两个 实例 和 应用之间相互绑定
C#代码 webform
音频控件 <audio id="audio" src="" ></audio>
最终要把有道智云返回的 url 放入src
前端 放几个控件
/// 服务端
public class TranClass
{
public string From { get; set; }
public string To { get; set; }
public List<Trans_result> Trans_result { get; set; }
}
public class Trans_result
{
public string src { get; set; }
public string dst { get; set; }
}
string url = "";
private TranClass tranClass = new TranClass();
protected string FanYiUrl(string Text)
{
string tSpeakUrl = "";
try
{
JavaScriptSerializer Jss = new JavaScriptSerializer();
Dictionary<string, object> DicText = (Dictionary<string, object>)Jss.DeserializeObject(Text);
if (!DicText.ContainsKey("tSpeakUrl"))
return "";
tSpeakUrl= DicText["tSpeakUrl"].ToString();
}
catch (Exception ex)
{
BLLLogicHelper.ServerLogLogic.Insert(new ServerLogInfo()
{
DateTime = DateTime.Now,
LogType = 123,
Message = ex.ToString()
});
}
return tSpeakUrl;
}
protected static string Truncate(string q)
{
if (q == null)
{
return null;
}
int len = q.Length;
return len <= 20 ? q : (q.Substring(0, 10) + len + q.Substring(len - 10, 10));
}
protected static string ComputeHash(string input, HashAlgorithm algorithm)
{
Byte[] inputBytes = Encoding.UTF8.GetBytes(input);
Byte[] hashedBytes = algorithm.ComputeHash(inputBytes);
return BitConverter.ToString(hashedBytes).Replace("-", "");
}
protected string Post(string url, Dictionary<String, String> dic)
{
string result = "";
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
StringBuilder builder = new StringBuilder();
int i = 0;
foreach (var item in dic)
{
if (i > 0)
builder.Append("&");
builder.AppendFormat("{0}={1}", item.Key, item.Value);
i++;
}
byte[] data = Encoding.UTF8.GetBytes(builder.ToString());
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
}
catch (Exception ex)
{
BLLLogicHelper.ServerLogLogic.Insert(new ServerLogInfo()
{
DateTime = DateTime.Now,
LogType = 123,
Message = ex.ToString()
});
}
return result;
}
//翻译的按钮
protected void fanyi_Click(object sender, EventArgs e)
{
try
{
Dictionary<String, String> dic = new Dictionary<String, String>();
string url = "http://openapi.youdao.com/api";
string q = ContentOne.Text;
string appKey = "7ae498ab144b76c1";
string appSecret = "en2hfQBoRWPD6LrNomVmoa75Xp0VJHb1";
string salt = DateTime.Now.Millisecond.ToString();
dic.Add("from", "zh-CHS");//源语言 列表参考文档
dic.Add("to", "ja"); //目标语言 列表参考文档
dic.Add("signType", "v3"); //签名类型
TimeSpan ts = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc));
long millis = (long)ts.TotalMilliseconds;
string curtime = Convert.ToString(millis / 1000);
dic.Add("curtime", curtime); //当前UTC时间戳
string signStr = appKey + Truncate(q) + salt + curtime + appSecret; ;
string sign = ComputeHash(signStr, new SHA256CryptoServiceProvider());//签名
dic.Add("q", System.Web.HttpUtility.UrlEncode(q)); //要翻译的文本
dic.Add("appKey", appKey); //申请的appkey
dic.Add("salt", salt); //随机的字符串
dic.Add("sign", sign); //签名
dic.Add("ext", "mp3"); //翻译结果音频格式
string jsonStr = Post(url, dic); //最终会返回json 串 从串中取数据 或者 url 即可
audio.Src = FanYiUrl(jsonStr); //最终要把有道智云返回的 url 放入src
}
catch (Exception ex)
{
BLLLogicHelper.ServerLogLogic.Insert(new ServerLogInfo()
{
DateTime = DateTime.Now,
LogType = 123,
Message = ex.ToString()
});
}
}
最终会返回json 串 从串中取数据 或者 url 即可
c# 调用有道智云翻译接口+语音组件tts相关推荐
- python文本自动伪原创_Python调用有道智云文本翻译API接口实现“智能”伪原创
随着人工智能的火热,互联网热门韭菜行业SEO也貌似进入了AI的快车道,尤其以智能伪原创超级热门,你会发现几乎是个seo工具网站都挂着智能伪原创的"狗头"招牌,抱着人无我有,人有我优 ...
- python翻译成中文_Python调用有道智云文本翻译API接口实现“智能”伪原创
>> 开始伪原创中..\")"],[20,"\n","24:\"OL7j\"|36:131"],[20,&q ...
- c++调用python接口_Python调用有道智云文本翻译API接口实现“智能”伪原创
>> 开始伪原创中..\")"],[20,"\n","24:\"OL7j\"|36:131"],[20,&q ...
- 调用百度智能云OCR接口识别身份证和户口本
一.百度智能云获取token类编写 package com.wy.gcserver.ocr.service;import org.slf4j.Logger; import org.slf4j.Logg ...
- 调用腾讯云OCR接口识别身份证和户口本
一.添加项目pom文件依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson ...
- python实现调用腾讯云翻译API
时长两月半程序员练习生为了完成导师的翻译任务,查询了一下腾讯云翻译的API使用方式 大佬轻喷,主要以记录为准 主要参考:机器翻译 文本翻译-API接口-API 中心-腾讯云 (tencent.com) ...
- 如何调用蓝鲸智云API接口?
文章目录 明确参数 编写程序 验证结果 明确参数 假设已经安装好蓝鲸平台,进入平台管理界面,进入开发者中心.我使用的是蓝鲸社区版bkce_basic_suite-6.0.4的安装包. ...
- php调用蓝奏云下载接口
支持检测文件是否被取消 支持带密码的文件分享链接但不支持分享的文件夹 支持生成直链或直接下载 增加ios应用在线安装 使用方法: url:蓝奏云外链链接 type:是否直接下载 值:down pwd: ...
- python爬虫实例——基于python实现有道云翻译接口
# 分析包 # 分析post请求中参数 # 使用python模拟lts.sign.salt参数运算 # 执行结果 > > 1.按F12对网页进行分析,填写内容后自动翻译的功能一般是通过aj ...
- php获取蓝凑云文件列表,php调用蓝奏云下载接口
/** * @package Lanzou * @author Filmy * @version 1.2.1 * @link https://mlooc.cn */ header('Access-Co ...
最新文章
- php多表存储,php – MySql在一个单元格中存储另一个表的多个引用并选择它?
- mysql date week_mysql weekday(date)/subdate(date,间隔天数)查询年龄/本月/周过生日
- python opencv 圆形roi
- jqgrid常用操作
- 开关量光端机指示灯说明及常见故障问题处理方法
- Android日志Log使用
- 技术实践第二期|Flutter异常捕获
- JavaScript数组拼接、对象拼接
- Mysql 扩展性设计之数据切分、那么数据切分后会带来哪些问题呢?比如分布式事务、数据的一致性、垂直切分和水平切分应用场景
- Java计算两个经纬度间的距离
- OSChina 周二乱弹 —— 从此鲜肉成屌丝
- Rust LLDB 调试入门指北
- Pyqt walk 在Windows查找文件
- 为什么不要用苹果的@icloud.com邮箱申请你的APP ID
- 沁透著一片悠然禪意 《掬水》
- c语言atol是什么缩写,C语言atol函数的可移植版本疑问
- 程序员最爱说的十句口头禅。。 | 今日最佳
- 01.奇特的一生——柳比歇夫一生的秘密
- 小驼峰法和大驼峰法的区别
- 药厂中PLD-601不溶性微粒检查仪IoT的流程梳理
热门文章
- 物联网:Android端控制ZigBee实现生产环境自动控制
- 新大陆NVH200条码扫描枪使用及设置教程
- 将域名从易名中国(www.ename.cn)转移到中国万网(www.net.cn)
- 中国互联网寒冬的根本原因是什么?
- 涨姿势!2020最好的 10 大国外编程学习网站
- pdf转jpg的在线与用转换器的转换方法
- [论文解读] Bridging Machine Learning and Logical Reasoning by Abductive Learning
- 旅游出行 APP 哪家强?
- 努比亚手机老是出现android,努比亚又一老机型迅速升级Android 5.0
- 大数据时代:九个大数据应用领域