Опитвам се да напиша код, за да чета на глас входящ тост (това беше тривиално в 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();