0
から400ビングテキストは、私からの情報を入手:http://msdn.microsoft.com/en-us/library/ff512420.aspxエラー私はビングのAPI TTSを使用しているスピーチ
これは(websideから)コードです:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Media;
namespace Apigoogleprova
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Speak();
}
private static void ProcessWebException(WebException e, string message)
{
Console.WriteLine("{0}: {1}", message, e.ToString());
// Obtain detailed error information
string strResponse = string.Empty;
using (HttpWebResponse response = (HttpWebResponse)e.Response)
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader sr = new StreamReader(responseStream, System.Text.Encoding.ASCII))
{
strResponse = sr.ReadToEnd();
}
}
}
Console.WriteLine("Http status code={0}, error message={1}", e.Status, strResponse);
}
public static void Speak()
{
string appId = "myappID"; //go to http://msdn.microsoft.com/en-us/library/ff512386.aspx to obtain AppId.
string text = "speak to me";
string language = "en";
string uri = "http://api.microsofttranslator.com/v2/Http.svc/Speak?&appId=" + appId +"&text;=" + text + "&language;=" + language;
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
//httpWebRequest.Proxy = new WebProxy(""); set your proxy name here if needed
WebResponse response = null;
try
{
response = httpWebRequest.GetResponse();
using (Stream stream = response.GetResponseStream())
{
using (SoundPlayer player = new SoundPlayer(stream))
{
player.PlaySync();
}
}
}
catch (WebException e)
{
//ProcessWebException(e, "Failed to speak");
MessageBox.Show("Error"+e);
}
finally
{
if (response != null)
{
response.Close();
response = null;
}
}
}
}
}
(私は「myappID変更しました」)私に、マイクロソフトが提供しているIDと
私はアプリを実行すると、私は次のエラーを取得する:
Remote Server Error (400) Bad Request
私は私のブラウザ(Firefoxの、クロムとIE)を使用してWebに行くことを試みた:
http://api.microsofttranslator.com/v2/Http.svc/Speak?&appId=myappID&text;=speak私&言語に、
EN =結果は次のとおりです。
**Argument Exception**
Method: Speak()
Parameter: text Message: Value cannot be null.
Parameter name: text message
id=3835.V2_Rest.Speak.25BD061A
誰もがどのように知っていますこの問題を解決します?
ありがとうございました!
ロングショットを完了しました。クエリ文字列のパラメータ名から? – AndrewC
ありがとうございます!それは問題を解決する!正しいコードは:string uri = "http://api.microsofttranslator.com/v2/Http.svc/Speak?&appId=" + appId + "&text =" + text + "&language =" + language; – Juliet
私は答えとして、完全性のために置いておきます。 – AndrewC