IAgentCommand::SetVoice

[Microsoft Agent tidak digunakan lagi pada Windows 7, dan mungkin tidak tersedia dalam versi Windows berikutnya.]

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

Mengatur propertiSuarauntuk perintah .

  • Mengembalikan S_OK untuk menunjukkan operasi berhasil.

bszVoice

BSTR yang menentukan teks untuk propertiSuaradari perintah .

Perintahharus memiliki propertiSuaradan propertiyang diaktifkandiatur agar dapat diakses suara. Ini juga harus mengatur propertiVoiceCaptionagar muncul di Jendela Perintah Suara . (Untuk kompatibilitas mundur, jika tidak ada VoiceCaption, pengaturan Keterangan digunakan.)

Ekspresi BSTR yang Anda berikan dapat menyertakan karakter kurung siku ([ ]) untuk menunjukkan kata opsional dan karakter bilah vertikal (|) untuk menunjukkan string alternatif. Alternatif harus diapit dalam tanda kurung. Misalnya, "(halo [ada] | hi)" memberi tahu mesin ucapan untuk menerima "halo," "halo di sana," atau "hai" untuk perintah. Ingatlah untuk menyertakan spasi yang sesuai antara teks yang berada dalam tanda kurung atau tanda kurung dan teks yang tidak dalam tanda kurung atau tanda kurung.

Anda dapat menggunakan operator bintang (*) untuk menentukan nol atau beberapa instans kata yang disertakan dalam grup atau operator plus (+) untuk menentukan satu atau beberapa instans. Misalnya, hasil berikut dalam tata bahasa yang mendukung "coba ini", "silakan coba ini", dan "silakan coba ini", dengan iterasi "please":

   "please* try this"

Format tata bahasa berikut mengecualikan "coba ini" karena operator + mendefinisikan setidaknya satu instans "please":

   "please+ try this"

Operator pengulangan mengikuti aturan normal prioritas dan berlaku untuk item teks sebelumnya segera. Misalnya, tata bahasa berikut menghasilkan "New York" dan "New York York", tetapi bukan "New York New York":

   "New York+"

Oleh karena itu, Anda biasanya ingin menggunakan operator ini dengan karakter pengelompokan. Misalnya, tata bahasa berikut mencakup "New York" dan "New York New York":

   "(New York)+"

Operator pengulangan berguna saat Anda ingin membuat tata bahasa yang menyertakan urutan berulang seperti nomor telepon atau spesifikasi daftar item:

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

Meskipun operator juga dapat digunakan dengan kurung siku (karakter pengelompokan opsional), melakukannya dapat mengurangi efisiensi pemrosesan Agen tata bahasa.

Anda juga dapat menggunakan elipsis (...) untuk mendukung melihat kata, yaitu memberi tahu mesin pengenalan ucapan untuk mengabaikan kata-kata yang diucapkan dalam posisi ini dalam frasa (kadang-kadang disebut sampah kata). Oleh karena itu, mesin ucapan hanya mengenali kata-kata tertentu dalam string terlepas dari kapan diucapkan dengan kata atau frasa yang berdekatan. Misalnya, jika Anda mengatur properti ini ke "[...] check mail [...]" mesin pengenalan ucapan akan cocok dengan frasa seperti "silakan periksa email" atau "periksa email silakan" ke perintah ini. Elipsis dapat digunakan di mana saja dalam string. Namun, berhati-hatilah menggunakan teknik ini, karena pengaturan suara dengan elipsis dapat meningkatkan potensi kecocokan yang tidak diinginkan.

Saat menentukan kata dan tata bahasa untuk perintah Anda, selalu pastikan Anda menyertakan setidaknya satu kata yang diperlukan; artinya, hindari hanya menyediakan kata-kata opsional. Selain itu, pastikan bahwa kata tersebut hanya menyertakan kata dan huruf yang dapat diucapkan. Untuk angka, lebih baik mengeja kata daripada menggunakan representasi numerik. Selain itu, hilangkan tanda baca atau simbol apa pun. Misalnya, alih-alih "pizza #1 $10!", gunakan "pizza nomor satu sepuluh dolar". Termasuk karakter atau simbol yang tidak dapat diucapkan untuk satu perintah dapat menyebabkan mesin ucapan gagal mengompilasi tata bahasa untuk semua perintah Anda. Terakhir, buat parameter suara Anda sebenar mungkin dari perintah suara lain yang Anda tentukan. Semakin besar kesamaan antara tata bahasa suara untuk perintah, semakin besar kemungkinan mesin ucapan akan membuat kesalahan pengenalan. Anda juga dapat menggunakan skor keyakinan untuk membedakan dengan lebih baik antara dua perintah yang mungkin memiliki tata bahasa suara serupa atau yang terdengar serupa.

Mengatur propertiSuarauntukPerintahsecara otomatis mengaktifkan layanan ucapan Agen, membuat kunci Mendengarkan dan Tips Mendengarkan tersedia. Namun, itu tidak memuat mesin pengenalan ucapan.

Nota

Fitur tata bahasa yang tersedia mungkin bergantung pada mesin pengenalan ucapan. Anda mungkin ingin memeriksa dengan vendor mesin untuk menentukan opsi tata bahasa apa yang didukung. Gunakan IAgentCharacterEx::SRModeID untuk menentukan mesin.

 

Lihat Juga

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