Desidero sviluppare un'applicazione Windows su Windows 10 utilizzando il nuovo motore Cortana.Le API Cortana sono disponibili per le applicazioni desktop?
Purtroppo, per quanto ne so, sembra essere disponibile solo su Windows Phone 8.1 progetto (ad esempio, non ho trovato un modo per accedere allo spazio dei nomi Windows.Media.SpeechRecognition da un diverso tipo di Visual Studio progetto).
Inoltre, non sono riuscito a trovare una buona documentazione API, solo alcuni esempi molto semplici.
Edit:
Sulla base di Peter Torr risposta che ho scritto qualche codice. Sono stato in grado di riconoscere qualche parola ma il motore sembra faticare quando ha provato a riconoscere alcune parole semplici come "Ciao", mentre Cortana lo ha riconosciuto con successo.
Sto facendo qualcosa di sbagliato?
public static class SpeechSynthetizerManager
{
private static readonly SpeechSynthesizer synth = new SpeechSynthesizer();
private static readonly SpeechRecognitionEngine speechRecognitionEngine = new SpeechRecognitionEngine();
public static event EventHandler<SpeechRecognizedEventArgs> SpeechRecognized
{
add { speechRecognitionEngine.SpeechRecognized += value; }
remove { speechRecognitionEngine.SpeechRecognized -= value; }
}
public static event EventHandler<RecognizeCompletedEventArgs> RecognizeCompleted
{
add { speechRecognitionEngine.RecognizeCompleted += value; }
remove { speechRecognitionEngine.RecognizeCompleted -= value; }
}
static SpeechSynthetizerManager()
{
synth.SelectVoiceByHints(VoiceGender.Female);
speechRecognitionEngine.LoadGrammar(new DictationGrammar());
speechRecognitionEngine.SetInputToDefaultAudioDevice();
}
public static void Speak(string message)
{
synth.Speak(message);
}
public static void Listen()
{
speechRecognitionEngine.RecognizeAsync();
}
}
Ciao, grazie mille per la risposta. Ho provato a creare un progetto di libreria di classi ma nell'elenco dei riferimenti disponibili non esiste un assembly Windows.Media (o simile). Le uniche DLL con quel nome esistono in path come C: \ Windows \ WinSxS \ amd64_microsoft-windows-runtime-windows-media_31bf3856ad364e35_10.0.10240.16384_none_4f69ddc0692a98bf e sono DLL di COM. Onestamente, mi sento un po 'confuso.Mi aspetto che la DLL faccia parte di .Net Framework (o Windows Sdk) e sia una libreria C#. – simoneL
Penso che ti sia sfuggita questa parte della risposta: "I tipi nello spazio dei nomi Windows.Media.SpeechRecognition non sono disponibili per le app classiche". Penso che tu debba guardare System.Speech.Recognition. –
Sì, Brendan, hai ragione, ho letto male. Quindi dovrei andare a letto prima :) A proposito, ho scritto del codice basato sulla risposta di Peter e l'ho incluso nella domanda originale. Ho ottenuto alcuni riconoscimenti vocali, ma non è ancora abbastanza buono. – simoneL