我试图让我的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);
}
答案 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.cs和https://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更轻。