Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

C# speech recognize


Rekomendowane odpowiedzi

Opublikowano
Chce zrobić tak gdy powiem komendę "stop talking" to program przestaje mówić i nie wiem jakiego kodu użyć ;/ tzn. znalazłem SpeakAsyncCancelAll();, ale nie wiem czy jest dobry próbowałem z tym kodem ale program dalej czytał teks. Pomocy.

 

przykładowy kod 

case "stop talking":

ss.SpeakAsyncCancelAll()

break;

 

+ dla pomocnych.

Practice Makes PerfectJulie James


 

Opublikowano

Możesz umieścić instrukcje w if'ie, w sensie że masz zmienna bool np bool jakastam = false i gdy powiesz stop talking zmienna zamienia sie na false wszystkie odpowiedzi masz w if'ie który sprawdza czy jakastam jest równa true.

Opublikowano

Patrząc na nazwę, SpeakAsyncCancelAll() ubija wszystkie asynchroniczne taski które odpowiadają za "mówienie". Więc nic dziwnego że tego Twojego nie.

 

Jeśli chcesz przerwać czytanie, to zawsze możesz odpalić speakera w nowym tasku, którego poprzez event wyłapania tekstu "X" zatrzymujesz. I po sprawie.

 

Kodu na gotowo Ci nie podam, bo nie wiem jak Ty masz tam to naskrobane, a mi się nie chce tego pisać :P

~Aye!

Opublikowano

Mniej więcej tak to wygląda tylko nie patrz na klamry bo to wycinek 

 

@ remzowaty

namespace question
{
public partial class Form1 : Form
{

SpeechSynthesizer ss = new SpeechSynthesizer();
PromptBuilder pd = new PromptBuilder();
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
Choices clist = new Choices();

public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
clist.Add(new string[] { "question"});

Grammar gr = new Grammar(new GrammarBuilder(clist));
try
{
sre.RequestRecognizerUpdate();
sre.LoadGrammar(gr);
sre.SpeechRecognized += sre_SpeechRecognizde;
sre.SetInputToDefaultAudioDevice();
sre.RecognizeAsync(RecognizeMode.Multiple);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
}
private void sre_SpeechRecognizde(object sender, SpeechRecognizedEventArgs e)
{
switch (e.Result.Text.ToString())
{

case "question":
ss.SpeakAsync("test");
break;
}
}

Practice Makes PerfectJulie James


 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...