Elemen dan atribut Definisi Perintah Suara (VCD) v1.2

Catatan

Cortana Skills Kit untuk konsumen dan perusahaan, dan keterampilan yang dibangun di atas platform ini, telah ditolak.

Dokumentasi referensi untuk elemen dan atribut markup XML yang digunakan dalam file Definisi Perintah Suara (VCD) untuk menentukan batasan pengenalan.

Gunakan perintah suara untuk meluncurkan aplikasi dan menentukan tindakan atau perintah untuk dijalankan. Misalnya, pengguna dapat mengetuk tombol Mulai dan mengucapkan "Widget Contoso, menampilkan penjual terbaik" untuk meluncurkan aplikasi Widget Contoso dan menavigasi ke halaman "penjual terbaik".

Elemen dan atribut

Seperti halnya file XML apa pun, file VCD harus dimulai dengan deklarasi XML yang menentukan versi XML dan pengodean karakter.

<?xml version="1.0" encoding="utf-8"?>

Elemen root adalah elemen VoiceCommands , dan atribut xmlns-nya harus diatur ke http://schemas.microsoft.com/voicecommands/1.2 (tidak ada karakter huruf besar). Untuk contoh yang sesuai dengan skema ini, lihat sampel Cortana Voice Command.

Elemen Deskripsi
Perintah Suara Wajib diisi. Elemen akar file VCD. Berisi antara 1 dan 15 elemen CommandSet , yang masing-masing mewakili perintah suara untuk satu bahasa.
Set Perintah Elemen anak yang diperlukan dari elemen VoiceCommands . Kontainer untuk semua perintah suara yang akan diterima aplikasi dalam bahasa yang ditentukan oleh atribut xml:lang yang diperlukan.

Nilai atribut xml:lang harus unik dalam dokumen VoiceCommand , dan merupakan satu bahasa tertentu, yang ditentukan dalam bentuk nama bahasa, yang sesuai dengan bahasa yang tersedia di panel kontrol Ucapan .

Catatan Bahasa yang ditentukan dalam file VCD, tetapi tidak didukung pada sistem, diabaikan.

Atribut Name bersifat opsional dan dapat berupa string arbitrer apa pun; namun, atribut Name diperlukan untuk mereferensikan dan memperbarui PhraseList elemen CommandSet secara terprogram. Elemen CommandSet berisi elemen anak berikut: CommandPrefix (0 atau 1) atau AppName (0 atau 1), Contoh (tepat 1), Perintah (1 hingga 100), elemen PhraseList (0 hingga 10), dan elemen PhraseTopic (0 hingga 10). Elemen anak ini harus terjadi dalam urutan yang tercantum.

Saling eksklusif CommandPrefix

Elemen turunan opsional dari elemen CommandSet . Jika ada, harus menjadi elemen turunan pertama dari elemen CommandSet .

Menentukan nama yang mudah digunakan untuk aplikasi yang dapat diucapkan pengguna saat memberikan perintah suara. Ini berguna untuk aplikasi dengan nama yang panjang atau sulit diucapkan.

Hindari menggunakan awalan yang bertentangan dengan pengalaman lain yang mendukung suara.

NamaAplikasi

Elemen turunan opsional dari elemen CommandSet . Jika ada, harus menjadi elemen turunan pertama dari elemen CommandSet .

Mengganti CommandPrefix dan mendukung atribut RequireAppName dan {builtin:AppName} frasa elemen ListenFor .

Menentukan nama yang mudah digunakan untuk aplikasi yang dapat diucapkan pengguna saat memberikan perintah suara. Ini berguna untuk aplikasi dengan nama yang panjang atau sulit diucapkan.

Hindari menggunakan awalan yang bertentangan dengan pengalaman lain yang mendukung suara.

Secara default, AppName didukung sebagai akhiran dalam perintah suara.

Perintah

Elemen turunan yang diperlukan dari elemen CommandSet .

Mengambil atribut Name . Menentukan tindakan aplikasi yang dapat dimulai pengguna dengan berbicara dan apa yang dapat dikatakan pengguna untuk memulai tindakan. Setiap elemen Command dapat dikaitkan dengan halaman tertentu di aplikasi Anda. Berisi elemen anak yang diperlukan berikut: Contoh (tepat 1), ListenFor (1 hingga 20), Feedback (tepat 1), dan Navigate (tepat 1). Elemen anak ini harus terjadi dalam urutan yang tercantum.

Contoh Turunan yang diperlukan dari elemen CommandSet (tepat 1) dan elemen Command (1 hingga 20). Memberikan contoh representatif tentang apa yang dapat dikatakan pengguna untuk CommandSet secara keseluruhan, dan untuk perintah individual. Contoh-contoh ini akan terlihat oleh pengguna dari layar Apa yang bisa saya ucapkan . Layar ini muncul ketika pengguna menekan dan menahan tombol Cari (di ponsel Windows) atau memanggil Cortana dan mengatakan, "Bantuan" atau "Apa yang bisa saya katakan?", atau ketuk Lihat selengkapnya.

Catatan Contoh harus menyertakan AppName atau CommandPrefix.

ListenFor

Elemen turunan yang diperlukan (1 hingga 20) dari elemen Command .

Berisi kata atau frasa yang akan dikenali aplikasi Anda untuk perintah ini. Ini mungkin termasuk atau menjadi referensi ke atribut Label elemen PhraseList (atau PhraseTopic), yang muncul di elemen ListenFor yang diapit kurung kurawal, misalnya: {myList}, atau {myTopic}.

Konten elemen ListenFor apa pun dapat dikenali untuk mengaktifkan perintah.

Atribut RequireAppName opsional dapat ditentukan untuk menunjukkan apakah nilai elemen AppName dapat ditambahkan sebelumnya, ditambahkan, atau digunakan sebaris dengan elemen ListenFor .

Atribut ini mendukung empat nilai:

  • Sebelum Frasa

    Pengguna harus mengucapkan AppName sebelum frasa ListenFor .

  • AfterPhrase

    Pengguna harus mengatakan "Masuk|Pada|Menggunakan|Dengan" AppName setelah frasa ListenFor .

  • BeforeOrAfterPhrase

    Pengguna harus mengucapkan AppName sebelum atau sesudah frasa ListenFor .

  • ExplicitlySpecified

    AppName secara eksplisit dirujuk dalam ListenFor, menggunakan {builtin:AppName}. Pengguna tidak diharuskan untuk mengucapkan AppName sebelum atau sesudah frasa ListenFor .

Gunakan tanda kurung di sekitar kata atau kata yang opsional. Artinya, kata atau kata-kata dapat diucapkan, tetapi tidak diperlukan untuk pertandingan. Contohnya,<ListenFor>[Show] {options}</ListenFor>.

Anda dapat mengatur fungsi kartubebas dengan menyertakan karakter tanda bintang di dalam sepasang kurung kurawal, seperti <ListenFor> Find {*} </ListenFor>. Dalam contoh ini, perintah suara akan cocok selama pengguna mengucapkan "Temukan", secara opsional diikuti oleh kata atau frasa lain. Jika perintah suara untuk elemen ListenFor yang mendukung kartubebas dicocokkan, properti SpeechRecognitionResult.Text akan berisi string "..." dalam posisi yang sama dengan kartubebas.

Saran dan Komentar Elemen turunan yang diperlukan dari elemen Command . Menentukan teks yang akan ditampilkan dan dibaca kembali ke pengguna saat perintah dikenali. Jika elemen Feedback menyertakan referensi ke atribut Label dari elemen PhraseList (atau PhraseTopic), maka setiap elemen ListenFor dalam elemen Command yang berisi juga harus mereferensikan atribut Label yang sama dari elemen PhraseList (atau PhraseTopic).
Saling eksklusif NavigasiElemen turunan yang diperlukan dari elemen Command , kecuali elemen Command memiliki elemen anak VoiceCommandService . Atribut Target bersifat opsional dan biasanya digunakan untuk menentukan halaman yang harus dinavigasi aplikasi saat diluncurkan. Anda dapat memperoleh nilai atribut Target (atau string kosong jika Anda menghilangkan atribut Target ) dari kamus SpeechRecognitionSemanticInterpretation.Properties menggunakan kunci "NavigationTarget".
VoiceCommandService Elemen turunan yang diperlukan dari elemen Command , kecuali elemen Command memiliki elemen anak Navigate . Elemen ini menentukan bahwa perintah suara ditangani melalui layanan aplikasi (lihat Windows.ApplicationModel.AppService) dengan umpan balik yang ditampilkan di kanvas Cortana . Atribut Target bersifat wajib dan harus cocok dengan nilai atribut Name dari elemen AppService dalam manifes paket aplikasi.
PhraseList

Turunan opsional dari elemen CommandSet . Satu elemen CommandSet dapat berisi tidak lebih dari 2.000 elemen Item , dan 2.000 elemen Item adalah batas total gabungan di semua elemen PhraseList dalam CommandSet. Setiap Item menentukan kata atau frasa yang dapat dikenali untuk memulai perintah yang mereferensikan PhraseList. Konten Item mungkin diperbarui secara terprogram dari dalam aplikasi Anda. PhraseList memerlukan atribut Label, nilai yang mungkin muncul—diapit oleh kurung kurawal—di dalam elemen ListenFor atau Feedback, dan digunakan untuk mereferensikan PhraseList.

PhraseList memiliki atribut Disambiguate opsional (default true), yang menentukan apakah PhraseList ini akan menghasilkan disambiguasi pengguna ketika beberapa item dari daftar secara bersamaan dikenali. Ketika false, PhraseList ini juga tidak akan dapat digunakan dari dalam elemen Feedback dan tidak akan menghasilkan parameter untuk aplikasi Anda. Itu berguna untuk frasa yang merupakan cara alternatif untuk mengatakan hal yang sama, tetapi tidak memerlukan tindakan tertentu.

Di aplikasi Anda, untuk mengetahui frasa mana dari daftar yang diucapkan, Anda dapat mengakses kamus SpeechRecognitionSemanticInterpretation.Properties menggunakan kunci dengan nilai yang sama dengan LabelPhraseList.

Item Anak opsional dari elemen PhraseList . Salah satu dari beberapa kata atau frasa yang dapat dikenali untuk memulai perintah. CommandSet tidak boleh berisi lebih dari 2.000 elemen Item di semua elemen PhraseList turunannya.
PhraseTopic

Turunan opsional dari elemen CommandSet . Menentukan topik untuk pengenalan kosakata besar. Topik ini dapat menentukan atribut Skenario tunggal (0 atau 1) dan beberapa elemen anak Subjek (0 hingga 20) untuk skenario, yang dapat digunakan untuk meningkatkan relevansi pengenalan yang dicapai. PhraseTopic memerlukan atribut Label, nilai yang mungkin muncul—diapit oleh kurung kurawal—di dalam elemen ListenFor atau Feedback, dan digunakan untuk mereferensikan PhraseTopic.

Atribut Skenario (default "Dikte") menentukan skenario yang diinginkan untuk PhraseTopic ini, yang dapat mengoptimalkan pengenalan ucapan yang mendasari perintah suara menggunakan PhraseTopic untuk menghasilkan hasil yang lebih cocok dengan konteks perintah yang diinginkan. Nilai yang valid adalah "Bahasa Alami", "Pencarian", "Pesan Singkat", "Dikte", "Perintah", dan "Pengisian Formulir".

Elemen anak Subjek menentukan subjek khusus untuk atribut SkenariophraseTopic induk untuk lebih menyempurnakan relevansi hasil pengenalan ucapan dalam perintah lisan menggunakan PhraseTopic. Subjek akan dievaluasi dalam urutan yang disediakan dan, jika sesuai, subjek yang ditentukan kemudian akan membatasi subjek yang ditentukan sebelumnya. Nilai teks dalam yang valid adalah "Tanggal/Waktu", "Alamat", "Kota/Status", "Nama Orang", "Film", "Musik", dan "Nomor Telepon". Misalnya: <Subject>Phone Number</Subject>

Di aplikasi Anda, untuk mengetahui konten yang diucapkan dalam subset elemen ListenFor yang diwakili oleh referensi PhraseTopic , Anda dapat mengakses kamus SpeechRecognitionSemanticInterpretation.Properties menggunakan kunci dengan nilai yang sama dengan LabelPhraseTopic.

Penting

Tidak dimungkinkan untuk menumpuk karakter khusus yang tercantum di bawah ini. Misalnya, pernyataan seperti [[start] new game] dan [{myPhraseList}] tidak dimungkinkan.

Karakter khusus Deskripsi
{} Berisi nilai atribut Label untuk Referensi PhraseList atau PhraseTopic , misalnya: {myList}, atau {myTopic}. Digunakan dalam elemen ListenFor atau Feedback . Referensi PhraseList atau PhraseTopic dalam elemen Feedback harus cocok dengan referensi yang sesuai dalam elemen ListenFor dalam perintah yang sama.
[]Menunjuk bahwa kata atau frasa yang diapit bersifat opsional. Kata atau frasa yang diapit dapat diucapkan tetapi tidak perlu dikenali untuk memulai perintah. Misalnya, jika konten elemen ListenFor adalah "[start] [start] permainan baru", pengguna dapat berbicara "start new game" atau "new game" atau "begin new game" (atau bahkan "start start new game") untuk memulai perintah. Setiap elemen bracketed bersifat opsional secara independen, tetapi harus diucapkan dalam urutan yang benar untuk dikenali. Jadi, dalam contoh "permainan baru", "mulailah permainan baru" akan berhasil, tetapi "mulai mulai permainan baru" tidak akan berfungsi karena urutan di mana mereka dideklarasikan.

Lihat juga

Windows.ApplicationModel.VoiceCommands

Interaksi Cortana

Sampel
Sampel perintah suara Cortana