【发布时间】:2015-07-20 01:41:23
【问题描述】:
我按照HTTP request with post 的说明从站点:http://www.tudienabc.com/phat-am-tieng-nhat 获取音频文件(该站点允许我们输入英文或日文单词/短语/句子并生成音频文件,看起来像“/pronunciations /audio?file_name=1431134309.002.mp3&file_type=mp3" 在回发后 HTML 代码的第 129 行)。
但是,我从自己的应用程序中获得的音频文件与从本网站生成的音频文件不同。本网站生成的音频文件(mp3)可以在www.tudienabc.com/pronunciations/播放(如:www.tudienabc.com/pronunciations/audio?file_name=1431141268.9947.mp3&file_type=mp3),但生成的音频文件从我的应用程序无法播放(例如:www.tudienabc.com/pronunciations/audio?file_name=1431141475.4908.mp3&file_type=mp3)。
那么,有什么问题吗?以及如何获取准确的音频文件?
这是我的代码:
var request = (HttpWebRequest)WebRequest.Create("http://www.tudienabc.com/phat-am-tieng-nhat");
var postData = "_method=POST&data[Pronun][text]=hello&data[Pronun][type]=3";
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
int m = responseString.IndexOf("pronunciations/audio?file_name=")+"pronunciations/audio?file_name=".Length;
int n = responseString.IndexOf("&file_type=mp3");
string filename = responseString.Substring(m, n - m);
return filename;
谢谢,
【问题讨论】:
-
向我们展示您使用的代码。
-
这不是“你的”代码,而是执行相同任务的几种方法。发布“你的”代码,这样我们就可以看到它有什么问题。与其尝试猜测您选择了哪个选项来复制粘贴不同的答案,而只是为了发现您在编辑时不小心删除了逗号。
-
对不起,菲耶。这是我第一次将问题发布到stackoverflow,所以我遇到了一些麻烦。当我按 Enter 进入新行时,它会发布我的评论。 :) 我用我的代码编辑了我的问题,因为评论不允许长文本。谢谢。