2014-02-09 9 views
6

ich diese Stichprobe von Hallo Welt Mein Code läuftText to Speech in Windows Store App mit Speech Synthesizer

private async void Button_Click(object sender, RoutedEventArgs e) 
     { 
      var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer(); 
      Windows.Media.SpeechSynthesis.SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync("Hello World"); 

      var mediaElement = new MediaElement(); 
      mediaElement.SetSource(stream,stream.ContentType); 
      mediaElement.Play(); 
     } 

, wenn ich es debuggen, ich erhalte eine Fehlermeldung:

An exception of type 'System.IO.FileNotFoundException' occurred in SunnahForKids.exe but was not handled in user code 
Additional information: The specified module could not be found. (Exception from HRESULT: 0x8007007E) 
+0

Sind Sie sicher, dass alle DLLs, auf die verwiesen wurde, verfügbar sind? – Quintium

Antwort

1

Aus die MSDN Reference

Anforderungen

Mindest unterstützten Client: Windows 8.1

Mindest unterstützten Server: Windows Server 2012 R2

Mindestens unterstützte Telefon: Windows Phone 8.1 [Windows-Runtime-Apps nur]

Namespace: Windows.Media.SpeechSynthesis Windows :: Media :: SpeechSynthesis [C++]

0

Wenn Sie Dependency Walker verwenden, um die Abhängigkeit von system.speech.dll anzuzeigen, würde es Ihnen sagen, dass "Fehler: Module mit verschiedenen CPU-Typen gefunden wurden." Setzen Sie CPU in Visual Studio auf x64, um Ihr Problem zu lösen. Für mich geht das.

1

Das liegt wahrscheinlich daran, dass die Stimme nicht auf dem Gerät installiert ist. Um es zu lösen, fügen Sie einfach einen try catch-Block hinzu und es wird nur dann "sprechen", wenn die Stimme in Bezug auf die Region und die Sprache Ihrer App installiert ist. Sonst läuft es ohne zu sprechen.