/ / Как да направите речта на текста да работи в Windows (Phone) 8.1 Universal App - c #, windows-phone-8.1, текст към слово, win-universal-app

Как да направите речта на текста да работи в Windows (Phone) 8.1 Universal App - c #, windows-phone-8.1, текст към словото, win-universal-app

Опитвам се да напиша код, за да чета на глас входящ тост (това беше тривиално в WP8.1) Аз имам това досега

  • Използването на MediaElement не изглежда да работи (код работи, но няма аудио) или по телефона или в подражател
  • Използването на BackgroundMediaPlayer работи в емулатора, но не и по телефона

Опитах и ​​двете от нишката на потребителския интерфейс (MediaElement работи само върху нишката на потребителския интерфейс) и BackgroundMediaPlayer от нишката, която обработва входящия тост

var mediaElement = new MediaElement();
using (var tts = new SpeechSynthesizer())
{
using (var ttsStream = await tts.SynthesizeSsmlToStreamAsync(ssml))
{
//BackgroundMediaPlayer.Current.SetStreamSource(ttsStream);
mediaElement.SetSource(ttsStream, ttsStream.ContentType);
mediaElement.Play();
}
}

Очевидно ми липсва нещо просто, но аз нямам идеи как да направя тази работа. SSML е правилно, мисля, че вероятно има нещо общо с обхвата и нишките

Отговори:

1 за отговор № 1
     var synth = new SpeechSynthesizer();
var voice = SpeechSynthesizer.DefaultVoice;
var newuserText = TheMessage
var stream = await synth.SynthesizeTextToStreamAsync(newuserText);
var mediaElement = new MediaElement();
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();