Как воспроизвести звук в Windows Phone из URI, который был возвращен из BingTranslationService? - PullRequest
0 голосов
/ 06 сентября 2011

Я пытаюсь, чтобы мое приложение 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 голосов
/ 06 сентября 2011

Вы можете воспроизвести это либо с помощью MediaElement, либо с помощью SoundEffect

Есть хорошее сообщение в блоге и полное приложение, которое использует MediaElement на http://sigurdsnorteland.wordpress.com/2010/11/20/loud-tweets-a-twitter-to-speak-wp7-app-source-code-included/ - также на codeplex

Я использовал SoundEffect в Iron7 (и некоторых других приложениях) - посмотрите пример кода в 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();

Для этих коротких аудиоклипов (максимум 100 символов для этой службы речи Bing) я рекомендую маршрут SoundEffect - он легче, чем MediaElement.

0 голосов
/ 06 сентября 2011

Во-первых, извинения за саморекламу, но у меня есть пример кода здесь ms-translationator-api-text-to-speech

...