csharp: 百度语音合成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
public string API_id = "3333"; //你的ID
public string API_record = null;
public string API_record_format = null;
public string API_record_HZ = null;
public string API_key = "geovindu"; //你的KEY
public string API_secret_key = "geovindu"; //你的SECRRET_KEY
public string API_language = null;
public string API_access_token = null;
public string strJSON = "";
private const string tex = "远去的山河沉寂,恋过的风景如昔."
                   "苍何斩落了情迷,生死轻付了别离."
                   "捣一脉相思成泥,沐四海悲风无迹."
                   "往生海烟波又起,妙华镜风雪共历.";
 
 
 
 
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
 
 
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
    API_access_token = getStrAccess(API_key, API_secret_key);
    Guid cid = new Guid();
    Response.Redirect("http://tsn.baidu.com/text2audio?tex=" + tex + "&lan=zh&cuid=" + cid.ToString() + "&ctp=1&tok=" + API_access_token);
 
}
/// <summary>
///
/// </summary>
/// <param name="para_API_key">你的KEY</param>
/// <param name="para_API_secret_key">你的SECRRET_KEY</param>
/// <returns></returns>
public string getStrAccess(string para_API_key, string para_API_secret_key)
{
 
    //方法参数说明:            
    //para_API_key:API_key(你的KEY)            
    //para_API_secret_key(你的SECRRET_KEY)            
    //方法返回值说明:            
    //百度认证口令码,access_token            
    string access_html = null;
    string access_token = null;
    string getAccessUrl = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" + "&client_id=" + para_API_key + "&client_secret=" + para_API_secret_key;
    try
    {
        HttpWebRequest getAccessRequest = WebRequest.Create(getAccessUrl) as HttpWebRequest;
        //getAccessRequest.Proxy = null;                
        getAccessRequest.ContentType = "multipart/form-data";
        getAccessRequest.Accept = "*/*";
        getAccessRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
        getAccessRequest.Timeout = 30000;//30秒连接不成功就中断                 
        getAccessRequest.Method = "post";
        HttpWebResponse response = getAccessRequest.GetResponse() as HttpWebResponse;
        using (StreamReader strHttpComback = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
        {
            access_html = strHttpComback.ReadToEnd();
        }
    }
    catch (WebException ex)
    {
        Response.Write(ex.ToString());
    }
 
    JObject jo = JObject.Parse(access_html);
    access_token = jo["access_token"].ToString();//得到返回的toke            
    return access_token;
}

  程序还未完善。

注:有效符号多或特殊符号的,无法读文章,百度有字数限制。可能要特珠服务需要购买。

网址DEMO:http://www.dusystem.com/news/show-184.html

API请求方式基本说明

http://yuyin.baidu.com/docs/tts/136

 

语音合成接口支持 POST 和 GET两种方式
正式地址:http://tsn.baidu.com/text2audio

posted @   ®Geovin Du Dream Park™  阅读(1019)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2010-11-25 颜色选择器 Color Picker,Internet Explorer,Firefox,Opera,Safar
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示