Udostępnij za pośrednictwem


IAgentCommand::SetVoice

[Program Microsoft Agent jest przestarzały w systemie Windows 7 i może być niedostępny w kolejnych wersjach systemu Windows.

HRESULT SetVoice(
   BSTR bszVoice  // voice text setting for Command
);

Ustawia właściwośćVoice dlapolecenia.

  • Zwraca S_OK, aby wskazać, że operacja zakończyła się pomyślnie.

bszVoice

BSTR określający tekst właściwości Voice polecenia .

Właściwość Command musi mieć właściwość Voice i właściwość Enabled ustawioną na dostęp głosowy. Musi również mieć właściwość VoiceCaption, która ma być wyświetlana w oknie poleceń głosowych . (Jeśli w przypadku zgodności z poprzednimi wersjami nie ma VoiceCaption, jest używane ustawienie Caption).

W wyrażeniu BSTR, które podajesz, można uwzględnić znaki nawiasu kwadratowego ([ ]), aby wskazać opcjonalne wyrazy i znaki paska pionowego (|), aby wskazać alternatywne ciągi. Alternatywne muszą być ujęte w nawiasy. Na przykład "(hello [there] | hi)" informuje aparat mowy o zaakceptowaniu polecenia "hello", "hello there" lub "hi". Pamiętaj, aby uwzględnić odpowiednie spacje między tekstem, który znajduje się w nawiasach lub nawiasach, a tekstem, który nie znajduje się w nawiasach ani nawiasach.

Możesz użyć operatora gwiazdki (*), aby określić zero lub więcej wystąpień wyrazów zawartych w grupie lub operatora plus (+), aby określić co najmniej jedno wystąpienie. Na przykład następujące wyniki w gramatyce obsługującej "wypróbuj to", "proszę spróbować", i "proszę spróbować tego", z nieograniczoną iterację "please":

   "please* try this"

Następujący format gramatyczny wyklucza wartość "try this", ponieważ operator + definiuje co najmniej jedno wystąpienie "please":

   "please+ try this"

Operatory powtórzeń są zgodne z normalnymi regułami pierwszeństwa i mają zastosowanie do bezpośrednio poprzedniego elementu tekstowego. Na przykład następujące wyniki gramatyczne są następujące: "Nowy Jork" i "Nowy Jork", ale nie "Nowy Jork":

   "New York+"

W związku z tym zazwyczaj należy używać tych operatorów z znakami grupowania. Na przykład następująca gramatyka obejmuje zarówno "Nowy Jork" jak i "Nowy Jork":

   "(New York)+"

Operatory powtórzeń są przydatne, gdy chcesz utworzyć gramatykę zawierającą powtarzaną sekwencję, taką jak numer telefonu lub specyfikacja listy elementów:

   "call (one|two|three|four|five|six|seven|eight|nine|zero|oh)*"
   "I'd like (cheese|pepperoni|pineapple|canadian bacon|mushrooms|and)+"

Chociaż operatory mogą być również używane z nawiasami kwadratowymi (opcjonalny znak grupowania), może to zmniejszyć wydajność przetwarzania gramatyki agenta.

Można również użyć wielokropka (...) do obsługi wyrazów wykrywających, czyli mówiąc aparatowi rozpoznawania mowy ignorowanie wyrazów wypowiadanych w tej pozycji w frazie (czasami nazywanej śmieci wyrazami). W związku z tym aparat mowy rozpoznaje tylko określone słowa w ciągu niezależnie od tego, kiedy mówi się z sąsiednimi słowami lub frazami. Jeśli na przykład ustawisz tę właściwość na "[...] sprawdź pocztę [...]" aparat rozpoznawania mowy będzie pasować do fraz, takich jak "proszę sprawdzić pocztę" lub "sprawdź wiadomość e-mail" do tego polecenia. Wielokropek może być używany w dowolnym miejscu w ciągu. Należy jednak zachować ostrożność przy użyciu tej techniki, ponieważ ustawienia głosowe z wielokropkiem mogą zwiększyć potencjał niechcianych dopasowań.

Podczas definiowania wyrazów i gramatyki dla polecenia zawsze upewnij się, że zawierasz co najmniej jedno słowo, które jest wymagane; oznacza to, że należy unikać podawania tylko opcjonalnych wyrazów. Ponadto upewnij się, że słowo zawiera tylko wymawialne słowa i litery. W przypadku liczb lepiej jest wypowiedzieć słowo zamiast używać reprezentacji liczbowej. Ponadto pomiń wszelkie znaki interpunkcyjne lub symbole. Na przykład zamiast "pizza #10 $10!", użyj "pizzy numer jeden dziesięć dolarów". Dołączenie niezmawialnych znaków lub symboli dla jednego polecenia może spowodować, że aparat mowy nie skompiluje gramatyki dla wszystkich poleceń. Na koniec ustaw parametr głosowy jako unikatowy w miarę możliwości z innych zdefiniowanych poleceń głosowych. Im większa podobieństwo między gramatyką głosową dla poleceń, tym bardziej prawdopodobne jest, że aparat mowy popełni błąd rozpoznawania. Można również użyć współczynników ufności, aby lepiej odróżnić dwa polecenia, które mogą mieć podobną lub podobną gramatykę głosową.

Ustawienie właściwościVoice dla Command automatycznie włącza usługi mowy agenta, udostępniając klucz nasłuchiwania i poradę nasłuchiwania. Nie ładuje jednak aparatu rozpoznawania mowy.

Nuta

Dostępne funkcje gramatyczne mogą zależeć od aparatu rozpoznawania mowy. Możesz sprawdzić u dostawcy aparatu, aby określić, jakie opcje gramatyczne są obsługiwane. Użyj IAgentCharacterEx::SRModeID, aby określić aparat.

 

Zobacz też

IAgentCommand::GetVoice, IAgentCommand::SetCaption, IAgentCommand::SetEnabled, IAgentCommands::Add, IAgentCommands::Insert