Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]
HRESULT SetVoice(
BSTR bszVoice // voice text setting for Command
);
Define a propriedade Voice para umde Comando de.
- Retorna S_OK para indicar que a operação foi bem-sucedida.
-
bszVoice
-
Um BSTR que especifica o texto para a propriedade Voice de um comando .
Umde Comandodeve ter sua propriedade Voice e propriedade habilitada definida como acessível por voz. Ele também deve ter sua propriedade VoiceCaption definida para aparecer na janela Comandos de Voz. (Para compatibilidade com versões anteriores, se não houver VoiceCaption, a configuraçãode Legendaserá usada.)
A expressão BSTR fornecida pode incluir caracteres de colchete ([ ]) para indicar palavras opcionais e caracteres de barra vertical (|) para indicar cadeias de caracteres alternativas. As alternativas devem ser colocadas entre parênteses. Por exemplo, "(hello [there] | oi)", diz o mecanismo de fala para aceitar "olá", "olá lá" ou "oi" para o comando. Lembre-se de incluir espaços apropriados entre o texto entre colchetes ou parênteses e o texto que não está entre colchetes ou parênteses.
Você pode usar o operador de estrela (*) para especificar zero ou mais instâncias das palavras incluídas no grupo ou no operador de adição (+) para especificar uma ou mais instâncias. Por exemplo, os seguintes resultados em uma gramática que dá suporte a "try this", "please try this" e "please please try this", with unlimited iterations of "please":
"please* try this"
O seguinte formato de gramática exclui "experimente isso" porque o operador + define pelo menos uma instância de "por favor":
"please+ try this"
Os operadores de repetição seguem regras normais de precedência e se aplicam ao item de texto imediatamente anterior. Por exemplo, a gramática a seguir resulta em "Nova York" e "Nova York", mas não em "Nova York":
"New York+"
Portanto, você normalmente desejará usar esses operadores com os caracteres de agrupamento. Por exemplo, a gramática a seguir inclui "Nova York" e "Nova York":
"(New York)+"
Operadores de repetição são úteis quando você deseja redigir uma gramática que inclui uma sequência repetida, como um número de telefone ou especificação de uma lista de itens:
"call (one|two|three|four|five|six|seven|eight|nine|zero|oh)*"
"I'd like (cheese|pepperoni|pineapple|canadian bacon|mushrooms|and)+"
Embora os operadores também possam ser usados com os colchetes (um caractere de agrupamento opcional), isso pode reduzir a eficiência do processamento do Agente da gramática.
Você também pode usar reticências (...) para dar suporte a de detecção de palavras, ou seja, dizendo ao mecanismo de reconhecimento de fala para ignorar palavras faladas nessa posição na frase (às vezes chamada lixo palavras). Portanto, o mecanismo de fala reconhece apenas palavras específicas na cadeia de caracteres, independentemente de quando faladas com palavras ou frases adjacentes. Por exemplo, se você definir essa propriedade como "[...] check-mail [...]" o mecanismo de reconhecimento de fala corresponderá a frases como "por favor, verifique o email" ou "check-mail por favor" para este comando. As reticências podem ser usadas em qualquer lugar dentro de uma cadeia de caracteres. No entanto, tenha cuidado ao usar essa técnica, pois as configurações de voz com reticências podem aumentar o potencial de correspondências indesejadas.
Ao definir as palavras e a gramática para seu comando, sempre certifique-se de incluir pelo menos uma palavra necessária; ou seja, evite fornecer apenas palavras opcionais. Além disso, verifique se a palavra inclui apenas palavras e letras pronunciáveis. Para números, é melhor soletrar a palavra em vez de usar a representação numérica. Além disso, omita qualquer pontuação ou símbolos. Por exemplo, em vez de "a pizza nº 1 $10!", use "a pizza número um de dez dólares". Incluir caracteres ou símbolos não pronunciáveis para um comando pode fazer com que o mecanismo de fala não compile a gramática para todos os seus comandos. Por fim, torne o parâmetro de voz o mais distinto possível de outros comandos de voz que você definir. Quanto maior a semelhança entre a gramática de voz para comandos, maior a probabilidade de o mecanismo de fala cometer um erro de reconhecimento. Você também pode usar as pontuações de confiança para distinguir melhor entre dois comandos que podem ter uma gramática de voz semelhante ou semelhante.
Definir a propriedade Voice para umde Comandohabilita automaticamente os serviços de fala do Agente, disponibilizando a chave de escuta e a dica de escuta. No entanto, ele não carrega o mecanismo de reconhecimento de fala.
Nota
Os recursos de gramática disponíveis podem depender do mecanismo de reconhecimento de fala. Talvez você queira verificar com o fornecedor do mecanismo para determinar quais opções de gramática têm suporte. Use IAgentCharacterEx::SRModeID para especificar um mecanismo.
Consulte Também
IAgentCommand::GetVoice, IAgentCommand::SetCaption, IAgentCommand::SetEnabled, IAgentCommands::Add, IAgentCommands::Insert