首页 版块 访问AI主站 注册 发帖
xujiayuxjy
47
积分 积分商城
0
获赞
【置顶】语音合成REST API问题及答案汇总贴
Ta的回复 :问题一: 目的获得某个字的波形文件数据,看文档会说是成功会是二进制的,如果成功我是不是直接二进制写文件, 而后通过audioread就可以获取我要的波形数据. 问题二: 我通过获得access_token ,截取我需要的这个字段,通过下面代码。说是我参数错误。不懂哪里设置问题了 ,我看那边说浏览器直接可以,我试了一下确实,而起通过一下代码会有问题。我看pdf后面说要进行两次urlencode,我现在还不知道甚么意思。望懂的讲讲 2017-04-06合成成功,改用urlwrite写文件. URL='http://tsn.baidu.com/text2audio'; Name='get'; Value={       'tex',urlencode(words),...       'lan','zh',...        'cuid','AC-16-2D-52-3B-47',...        'ctp','1',...        'tok',tok,...        'per',num2str(girl)}; [filepath,status]= urlwrite(URL,filename,Name,Value);
18
原帖已删除
Ta的回复 :我看文档那边说要urlencode两次。我是在matlab 平台弄的,我用matlab 平台的urlencode两次会 --清---  %25E6%25B8%2585这样的编码,你这边python用来一次,是等效的么?
0
【置顶】语音合成REST API问题及答案汇总贴
Ta的回复 :IsonGT: 希望有一份java的例子提供参考,我写好的java后台方法测试总是提示"err_msg": "parameter error.","err_no": 501。如果正常在浏览器地址栏请求是可以正常显示的。只是在后台运行就报错 HttpURLConnection conn = (HttpURLConnection) new URL(serverURL).openConnection(); // 设置请求参数 JSONObject params = new JSONObject(); params.put("tex", URLEncoder.encode(URLEncoder.encode("广州中科诺泰技术邮箱公司", "utf-8"), "utf-8")); params.put("lan", URLEncoder.encode(URLEncoder.encode("zh", "utf-8"), "utf-8")); params.put("ctp", URLEncoder.encode(URLEncoder.encode("1", "utf-8"), "utf-8")); params.put("tok", URLEncoder.encode(URLEncoder.encode(token, "utf-8"), "utf-8")); params.put("cuid", URLEncoder.encode(URLEncoder.encode(cuid, "utf-8"), "utf-8")); // add request header conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "json/html; charset=utf-8"); conn.setDoInput(true); conn.setDoOutput(true); System.out.println("转码前:" + params.toString()); //URLENCODE转码 String s = params.toString(); System.out.println("转码后:" + s); // 发送接受 DataOutputStream wr = new DataOutputStream(conn.getOutputStream()); wr.writeBytes(s); wr.flush(); wr.close(); 以上是例子代码,我希望是获取二进制流的。 回复IsonGT:我使用的matlab里面自带用的是嵌入的java。根据我使用成功的那个样例。里面涉及到的文件输出代码为 function [file,fileOutputStream] = getFileOutputStream(location) % Specify the full path to the file so that getAbsolutePath will work when the % current directory is not the startup directory and urlwrite is given a % relative path. file = java.io.File(location); if ~file.isAbsolute    location = fullfile(pwd,location);    file = java.io.File(location); end try     % Make sure the path isn't nonsense.     file = file.getCanonicalFile;     % Open the output file.     fileOutputStream = java.io.FileOutputStream(file); catch     error(mm('urlwrite','InvalidOutputLocation',char(file.getAbsolutePath))); end
18
原帖已删除
Ta的回复 :泪线111: 回复xujiayuxjy: 您好,这里的urlencode是为了将我们的数据打包成能传给百度api的数据格式 我的最原始数据是python中的dict格式,经过 date_urlencode=urllib.parse.urlencode(date) 变成了str格式,在传给百度api的时候又用了 r=urllib.request.urlopen(ServerUrl,str.encode(date_urlencode)) 其中的str.encode默认utf-8将date_urlencode编码 至于matlab中怎么写,你可以参考下我的过程,不对的话,多试几次就好了 回复泪线111:已实现拉 3Q
0
【置顶】语音合成REST API问题及答案汇总贴
Ta的回复 :前几天好好的,今天不知道是电脑还是甚么问题。获取链接失败,上次保留的数据链接倒是还能用
18
切换版块
智能客服