如何从BingTranslationService返回的uri播放Windows手机中的音频?

时间:2011-09-06 02:49:26

标签: web-services windows-phone-7 audio translate

我试图让我的Windows应用程序读取文本。我正在使用BingTranslationService这样做,但我不知道如何从我从服务中获得的结果中播放音频。我尝试使用SoundEffect类,但我不太清楚如何去做。

BingTranslateServiceReference.LanguageServiceClient client = new BingTranslateServiceReference.LanguageServiceClient();
  client.SpeakAsync(appID, name, "en", "audio/wav");

void client_OnSpeakCompleted(object sender, BingTranslateServiceReference.SpeakCompletedEventArgs e) 
{
    SoundEffect se;
    SoundEffectInstance soundEffectInstance;
    var req = (HttpWebRequest)WebRequest.Create(e.Result);
    req.BeginGetRequestStream(new AsyncCallback(ReqCB), req); 
}

2 个答案:

答案 0 :(得分:0)

首先,为自我推销道歉,但我在这里有一些示例代码 ms-translator-api-text-to-speech

答案 1 :(得分:0)

您可以使用MediaElement或使用SoundEffect

来播放此内容

有一篇很好的博文和完整的应用程序在http://sigurdsnorteland.wordpress.com/2010/11/20/loud-tweets-a-twitter-to-speak-wp7-app-source-code-included/上使用了MediaElement - 也在codeplex上

我在Iron7(以及其他一些应用)中使用了SoundEffect - 请参阅https://github.com/slodge/main/blob/master/Hosts/Silverlight/Iron7/Views/IronPage.xaml.cshttps://github.com/slodge/main/blob/master/Hosts/Silverlight/Iron7/Common/AudioPlayer.cs中的一些示例代码 - 基本上代码是:

var soundEffect = Microsoft.Xna.Framework.Audio.SoundEffect.FromStream(stream)
FrameworkDispatcher.Update();
soundEffect.Play();

对于这些短的声音片段(Bing语音服务最多100个字符)我推荐SoundEffect路由 - 它比MediaElement更轻。