Voglio creare un'applicazione WPF in C# per Windows 10. Ora, il problema che avevo con le versioni precedenti di Windows era che io sono italiano e non c'è un supporto per il riconoscimento vocale in italiano. Ma ora c'è cortana. Quindi, come posso utilizzare il motore di riconoscimento vocale di cortana per la mia applicazione? Se uso semplicemente new SpeechRecognitionEngine(new CultureInfo("it-IT")));
mi dà un errore, perché non c'è il semplice motore di riconginazione, quindi devo usare quello di cortana. Spero tu abbia capito e mi dispiace per il mio pessimo inglese. La ringrazio per la risposta.Windows 10 Riconoscimento vocale
risposta
Per utilizzare la nuova API WinRT SpeechRecognition rilasciata in Windows 10, è necessario aggiungere il supporto per le API WinRT all'applicazione desktop C#. Ciò non richiede la conversione dell'app in un'app di Windows Store, tuttavia, almeno, per alcune parti. Per quanto ne so, il nuovo motore non è stato sottoposto a backport per aggiungere supporto a System.Speech.SpeechRecognitionEngine, che utilizza ancora un riconoscimento legacy (controllerò con il team di discussione qui e seguirò in questo post se trovo altro . su questo punto)
sulla base della guida tratto da here e here, sono stato in grado di creare un classico C# WPF app, e implementare il codice seguente:
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());
}
}
al fine di ottenere questo per compilare , Ho aggiunto
<PropertyGroup>
<TargetPlatformVersion>10.0</TargetPlatformVersion>
</PropertyGroup>
al .csproj, e ha aggiunto Windows.Media e Windows.Foundation dal Progetto -> Aggiungi riferimento -> Universal Windows -> sezione Core e ho riferimenti anche aggiunte manualmente al
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll
e
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1\System.Runtime.InteropServices.WindowsRuntime.dll
tramite la sezione Sfoglia di Aggiungi riferimenti.
È necessario controllare SpeechRecognizer.SupportedGrammarLanguages per recuperare l'oggetto It-IT Language per passarlo al costruttore Recognizer, se il sistema non è impostato per default su IT-IT già. (Se hai installato una versione italiana di Windows 10, questo dovrebbe avvenire automaticamente)
Ora, il mio frammento di codice sopra compila solo una grammatica super semplice, non avvia il riconoscimento. Avrai bisogno di consultare il resto dell'API Windows.Media.SpeechRecognition per questo, ma è sulla stessa linea.
- 1. Il riconoscimento vocale in Windows Phone 8
- 2. Riconoscimento vocale continuo Android
- 3. Riconoscimento vocale in PHP?
- 4. C# Riconoscimento vocale
- 5. C# Riconoscimento vocale
- 6. Riconoscimento vocale per iPhone
- 7. Riconoscimento vocale su Kinect
- 8. Riconoscimento vocale semplice Swift?
- 9. API riconoscimento vocale
- 10. Scrittura motore riconoscimento vocale
- 11. Riconoscimento vocale per android
- 12. API di riconoscimento vocale C++
- 13. Riconoscimento vocale semplice open source in C++ in Windows
- 14. Riconoscimento vocale per browser incrociato
- 15. Riconoscimento vocale tramite porta USB
- 16. programmazione del riconoscimento vocale tramite java sphinx4
- 17. Disabilita i comandi di riconoscimento vocale incorporati?
- 18. Servizio di riconoscimento vocale per la ricerca vocale di Google
- 19. Riconoscimento vocale continuo. con SFSpeechRecognizer (ios10-beta)
- 20. Errore ERROR_RECOGNIZER_BUSY con riconoscimento vocale offline
- 21. Riconoscimento vocale continuo mentre si canta?
- 22. Riconoscimento vocale Microsoft: quale riferimento devo aggiungere?
- 23. App per iPhone> Aggiungi riconoscimento vocale?
- 24. Angular2: Web Speech API - Riconoscimento vocale
- 25. riconoscimento vocale da file audio anziché microfono
- 26. codice Python riconoscimento vocale non funzionante
- 27. CMU Sfinge per riconoscimento vocale/altoparlante
- 28. Riconoscimento vocale continuo Android - Senza spazi vuoti
- 29. riconoscimento vocale per webkit Chrome iOS
- 30. Riconoscimento vocale offline in Android (JellyBean)
Grazie mille, ma ho un piccolo problema ... il mio progetto -> Aggiungi riferimenti -> Windows universale -> La sezione principale è vuota e non posso aggiungere Windows.Media e Windows.Foundation. Dove posso trovarli tramite la sezione Sfoglia? – DeveloperITA
Hm, hai installato l'SDK dell'app per Windows universale tramite l'installazione di Visual Studio? Non è installato di default quando si installa VS2015, potrebbe essere necessario tornare alla configurazione di VS e aggiungerlo se non è installato (è possibile utilizzare 'modifica' dalla sezione Aggiungi/Rimuovi Programmi di Windows 10). Oh, e ho appena ricontrollato il resto della soluzione, e ho fatto in modo che tu possa effettivamente iniziare il riconoscimento, e questo funziona (Anche RiconoscereWithUIAsync anche se l'interfaccia utente sembra fuori posto su un'app WPF :)) –
ho reinstallato Visual Studio e la sezione Core è di nuovo vuota. Dice "Impossibile trovare il riferimento nell'SDK di Windows universale" (spero di averlo tradotto correttamente) – DeveloperITA