Ich möchte eine WPF-Anwendung in C# für Windows 10 erstellen. Nun, das Problem, das ich mit früheren Windows-Versionen hatte war, dass ich Italienisch bin und es keine Unterstützung für Spracherkennung in Italienisch gibt. Aber jetzt gibt es Cortana. Wie kann ich die Spracherkennungs-Engine von Cortana für meine Anwendung nutzen? Wenn ich einfach new SpeechRecognitionEngine(new CultureInfo("it-IT")));
benutze, gibt es mir einen Fehler, weil es nicht die einfache Recognition-Engine gibt, also muss ich Cortanas verwenden. Ich hoffe du hast mein schlechtes Englisch verstanden und entschuldigt. Vielen Dank für Ihre Antwort.Windows 10 Spracherkennung
Antwort
Um die neue WinRT-API SpeechRecognition in Windows 10 zu verwenden, müssen Sie Unterstützung für WinRT-APIs zu Ihrer Desktop-C# -Anwendung hinzufügen. Dies erfordert jedoch nicht, zumindest für einige Teile, die App in eine Windows Store App zu konvertieren. Soweit ich weiß, wurde die neue Engine nicht rückportiert, um Unterstützung in System.Speech.SpeechRecognitionEngine hinzuzufügen, die immer noch einen Legacy-Erkenner verwendet (Ich werde mich mit dem Sprachteam hier unterhalten und in diesem Beitrag nachgehen, wenn ich mehr finde . an diesem Punkt)
auf Grund der getroffenen Führung von here und here, konnte ich eine klassische C# WPF-Anwendung erstellen und implementieren Sie den folgenden Code:
private SpeechRecognizer reco;
public MainWindow()
{
InitializeComponent();
reco = new SpeechRecognizer();
List<string> constraints = new List<string>();
constraints.Add("Yes");
constraints.Add("No");
reco.Constraints.Add(new SpeechRecognitionListConstraint(constraints));
IAsyncOperation<SpeechRecognitionCompilationResult> op = reco.CompileConstraintsAsync();
op.Completed += HandleCompilationCompleted;
}
public void HandleCompilationCompleted(IAsyncOperation<SpeechRecognitionCompilationResult> opInfo, AsyncStatus status)
{
if(status == AsyncStatus.Completed)
{
System.Diagnostics.Debug.WriteLine("CompilationCompleted");
var result = opInfo.GetResults();
System.Diagnostics.Debug.WriteLine(result.Status.ToString());
}
}
um dies zu kompilieren , Fügte ich hinzu
<PropertyGroup>
<TargetPlatformVersion>10.0</TargetPlatformVersion>
</PropertyGroup>
zum CSPROJ und fügte hinzu Windows.Media und Windows.Foundation aus dem Projekt - Referenzen> Add -> Universal-Fenster -> Kernabschnitt, und ich auch manuell hinzugefügt Verweise auf
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll
und
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.InteropServices.WindowsRuntime.dll
über den Abschnitt Durchsuchen von Referenzen hinzufügen.
Sie müssen die SpeechRecognizer.SupportedGrammarLanguages überprüfen, um das it-IT-Sprachobjekt abzurufen und es an den Recognizer-Konstruktor zu übergeben, wenn Ihr System nicht bereits standardmäßig darauf eingestellt ist (IT). (Wenn Sie eine italienische Version von Windows 10 installiert haben, sollte dies standardmäßig geschehen)
Nun, mein Code-Snippet oben kompiliert nur eine super einfache Grammatik, es beginnt nicht Erkennung. Sie müssen den Rest der Windows.Media.SpeechRecognition API dafür konsultieren, aber es ist in die gleiche Richtung.
- 1. Wie verwende ich iOS 10 Spracherkennung?
- 2. Spracherkennung in Windows Phone 8
- 3. Windows 10 Home: Windows-Authentifizierung
- 4. Spracherkennung
- 5. C# Spracherkennung
- 6. Registrieren .NET 4.5 IIS 10 Windows 10
- 7. Windows 10 bekomme DeviceFamilyVersion
- 8. Windows 10 UWP-Befehlsleiste
- 9. Windows 10 Anwendungen Entwicklung
- 10. Windows 10 Kompatibilitätsmodus | Registrierungsschlüssel
- 11. Windows 10 MediaClip-Rotation
- 12. Atominstallationsfehler unter Windows 10
- 13. Windows-10 Mobil Direct3D
- 14. Windows Store 10 API
- 15. Deinstallationsknoten js Windows 10
- 16. Wget für Windows 10
- 17. Windows 10 Secure Storage
- 18. Windows 10 und Netzwerklaufwerk
- 19. Büro Interopassemblys 10 Windows-
- 20. C# Spracherkennung
- 21. WPF: Windows 7 vs Windows 10 Aussehen
- 22. Windows Universal App 8.1 in Windows 10
- 23. Windows Phone 8.1 Emulator in Windows 10
- 24. Authentisches Windows 7 Theme in Windows 10?
- 25. 10 GNU CC und Windows
- 26. WPF native Windows 10 toasten
- 27. von Windows 10 und XAMPP
- 28. Windows-10 IoT Himbeere 3
- 29. Eigenschaftenblatt-Handler unter Windows 10
- 30. Workbench 6.3 auf Windows 10
Vielen Dank, aber ich habe ein kleines Problem ... mein Projekt -> Hinzufügen von Referenzen -> Universal Windows -> Core-Abschnitt ist leer und ich kann Windows.Media und Windows.Foundation nicht hinzufügen. Wo finde ich sie über den Browse-Bereich? – DeveloperITA
Hm, haben Sie das Universal Windows App SDK über das Visual Studio-Setup installiert? Es ist nicht standardmäßig installiert, wenn Sie VS2015 installieren, müssen Sie möglicherweise zurück in VS-Setup gehen und es hinzufügen, wenn es nicht installiert ist (Sie können 'ändern' aus dem Hinzufügen/Entfernen von Programmen Teil von Windows 10). Oh, und ich habe einfach den Rest der Lösung überprüft und sichergestellt, dass Sie tatsächlich die Erkennung starten können, und das funktioniert. (Erkenne sogar mitUIAsync, obwohl die Benutzeroberfläche über eine WPF-App fehl am Platz ist :)) –
Ich habe Visual Studio neu installiert und Core-Abschnitt ist wieder leer. Es sagt "Kann nicht finden, verweist in der Universal Windows SDK" (ich hoffe, ich habe es richtig übersetzt) – DeveloperITA