

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# SpeakAndGetDigits
<a name="speak-and-get-digits"></a>

Putar ucapan dengan menyediakan teks dan kumpulkan digit multi-frekuensi nada ganda (DTMF) dari pengguna. Teks dapat berupa teks biasa atau teks yang disempurnakan Speech Synthesis Markup Language (SSML) untuk memberikan kontrol lebih besar atas bagaimana Amazon Chime SDK menghasilkan ucapan dengan menambahkan jeda, menekankan kata-kata tertentu, atau mengubah gaya berbicara, di antara fitur SSML lain yang didukung. Jika terjadi kegagalan, seperti pengguna yang tidak memasukkan jumlah digit DTMF yang benar, tindakan memainkan pidato “kegagalan” dan kemudian memutar ulang pidato utama sampai aplikasi media SIP menghabiskan jumlah upaya yang ditentukan dalam parameter. `Repeat`

Amazon Chime SDK menggunakan Amazon Polly, layanan cloud yang mengubah teks menjadi ucapan yang hidup, Amazon Polly menyediakan mesin standar dan saraf untuk meningkatkan kualitas bicara, lebih dari 20 bahasa yang didukung, dan 60 suara. Amazon Polly menyediakan fitur ucapan tanpa biaya, tetapi Anda membayar untuk menggunakan Amazon Polly. Lihat [halaman harga](https://aws.amazon.com/polly/pricing/) Amazon Polly atau dasbor penagihan Anda untuk informasi harga.

**penting**  
Penggunaan Amazon Polly tunduk pada [Ketentuan AWS Layanan, termasuk persyaratan](https://aws.amazon.com/service-terms/) khusus untuk AWS Machine Learning dan Layanan Kecerdasan Buatan.

**Topics**
+ [Menggunakan SpeakAndGetDigits tindakan](#speak-digits-action)
+ [Menangani ACTION\_SUCCESSFUL acara](#speak-digits-success)
+ [Menangani ACTION\_FAILED acara](#speak-digits-fail)
+ [Menggunakan peran terkait layanan Amazon Chime SDK Voice Connector](#speak-digits-policy)

## Menggunakan SpeakAndGetDigits tindakan
<a name="speak-digits-action"></a>

Contoh berikut menunjukkan penggunaan khas `SpeakAndGetDigits` tindakan:

```
{
    "SchemaVersion": "1.0",
    "Actions":[
        {
            "Type": "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "{{call-id-1}}",          // required
                "InputDigitsRegex": "{{^\d{2}#$}}", // optional
                "SpeechParameters": {
                    "Text": "{{Hello World}}",      // required
                    "Engine": "{{neural}}",         // optional. Defaults to standard
                    "LanguageCode": "{{en-US}}",    // optional
                    "TextType": "{{text}}",         // optional
                    "VoiceId": "{{Joanna}}"         // optional. Defaults to Joanna
                },
                "FailureSpeechParameters": {
                    "Text": "{{Hello World}}",      // required
                    "Engine": "{{neural}}",         // optional. Defaults to the Engine value in SpeechParameters
                    "LanguageCode": "{{en-US}}",    // optional. Defaults to the LanguageCode value in SpeechParameters
                    "TextType": "{{text}}",         // optional. Defaults to the TextType value in SpeechParameters
                    "VoiceId": "{{Joanna}}"         // optional. Defaults to the VoiceId value in SpeechParameters
                },
                "MinNumberOfDigits": {{3}},         // optional
                "MaxNumberOfDigits": {{5}},         // optional
                "TerminatorDigits": ["{{#}}"],      // optional
                "InBetweenDigitsDurationInMilliseconds": {{5000}},  // optional
                "Repeat": {{3}},                    // optional
                "RepeatDurationInMilliseconds": {{10000}}           // required
            }
        }
    ]
}
```

**CallId**  
*Deskripsi* — `CallId` Peserta dalam CallDetails pemanggilan fungsi Lambda.  
*Nilai yang diizinkan* - Valid `callID`  
*Diperlukan* - Ya  
*Nilai default* - Tidak

**InputDigitsRegex**  
*Deskripsi* — Pola ekspresi reguler untuk membantu memastikan bahwa pengguna memasukkan angka dan huruf yang benar.  
*Nilai yang diizinkan* - Pola ekspresi reguler yang valid  
*Diperlukan* - Tidak  
*Nilai default* - Tidak ada

**SpeechParameters.Engine**  
*Deskripsi* — Menentukan mesin — standar atau saraf — untuk digunakan saat memproses teks untuk sintesis ucapan.  
*Nilai yang diizinkan* - `standard` \| `neural`  
*Diperlukan* - Tidak  
*Nilai default* - Standar

**SpeechParameters.LanguageCode**  
*Deskripsi* - Menentukan kode bahasa. Ini hanya diperlukan jika menggunakan suara bilingual. Jika suara bilingual digunakan dan tidak ada kode bahasa yang ditentukan, bahasa default suara bilingual akan digunakan.  
*Nilai yang diizinkan* - [kode bahasa Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*Diperlukan* - Tidak  
*Nilai default* - Tidak ada

**SpeechParameters.Text**  
*Deskripsi* - Menentukan teks masukan. Jika Anda menentukan `ssml` sebagai`SpeechParameters.TextType`, Anda harus mengikuti format SSML untuk teks input. *Untuk informasi selengkapnya tentang SSML, lihat [Menghasilkan Pidato dari Dokumen SSML](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) di Panduan Pengembang Amazon Polly.*  
*Nilai yang diizinkan* - String  
*Diperlukan* - Ya  
*Nilai default* - Tidak ada

**SpeechParameters.TextType**  
*Deskripsi* - Menentukan format teks untuk`SpeechParameters.Text`. Jika tidak ditentukan, `text` digunakan secara default. *Untuk informasi selengkapnya tentang SSML, lihat [Menghasilkan Pidato dari Dokumen SSML](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) di Panduan Pengembang Amazon Polly.*  
*Nilai yang diizinkan* - `ssml` \| `text`  
*Diperlukan* - Tidak  
*Nilai default* - `text`

**SpeechParameters.VoiceId**  
*Deskripsi* — ID suara Amazon Polly yang digunakan untuk mengucapkan teks. `SpeechParameters.Text`  
*Nilai yang diizinkan* - [ID suara Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Diperlukan* - Tidak  
*Nilai default* - Joanna

**FailureSpeechParameters.Engine**  
*Deskripsi* — Menentukan mesin — standar atau saraf — untuk digunakan saat memproses pesan kegagalan yang digunakan saat pelanggan memasukkan respons yang tidak valid untuk sintesis ucapan.  
*Nilai yang diizinkan* - `standard` \| `neural`  
*Diperlukan* - Tidak  
*Nilai default* - `SpeechParameters.Engine` Nilai

**FailureSpeechParameters.LanguageCode**  
*Deskripsi* - Menentukan kode bahasa yang digunakan saat pelanggan memasukkan respons yang tidak valid. Hanya diperlukan saat menggunakan suara bilingual. Jika Anda menggunakan suara bilingual tanpa menentukan kode bahasa, bahasa default suara bilingual akan digunakan.  
*Nilai yang diizinkan* - [kode bahasa Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*Diperlukan* - Tidak  
*Nilai default* - `SpeechParameters.LanguageCode` Nilai.

**FailureSpeechParameters.Text**  
*Deskripsi* - Menentukan teks masukan yang diucapkan saat pelanggan memasukkan respons yang tidak valid. Jika Anda menentukan `ssml` sebagai`FailureSpeechParameters.TextType`, Anda harus mengikuti format SSML untuk teks input.  
*Nilai yang diizinkan* - String  
*Diperlukan* - Ya  
*Nilai default* - Tidak ada

**FailureSpeechParameters.TextType**  
*Deskripsi* - Menentukan apakah teks masukan yang ditentukan dalam `FailureSpeechParameters.Text` adalah teks biasa atau SSML. Nilai default adalah teks biasa. Untuk informasi selengkapnya, lihat [Menghasilkan Pidato dari Dokumen SSML](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) di Panduan Pengembang *Amazon Polly*.  
*Nilai yang diizinkan* - `ssml` \| `text`  
*Diperlukan* - Tidak  
*Nilai default* - `SpeechParameters.Text` Nilai

**FailureSpeechParameters.VoiceId**  
*Deskripsi* — ID untuk suara yang digunakan untuk mengucapkan string`FailureSpeechParameters.Text`.  
*Nilai yang diizinkan* - [ID suara Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*Diperlukan* - Ya  
*Nilai default* - `SpeechParameters.VoiceId` Nilai

**MinNumberOfDigits**  
*Deskripsi* — Jumlah minimum digit yang harus diambil sebelum waktu habis atau memutar pesan “panggilan gagal”.  
*Nilai yang diizinkan* - Lebih besar dari atau sama dengan nol  
*Diperlukan* - Tidak  
*Nilai default* - 0

**MaxNumberOfDigits**  
*Deskripsi* — Jumlah maksimum digit yang akan diambil sebelum berhenti tanpa digit penghentian.  
*Nilai yang diizinkan* - Lebih besar dari `MinNumberOfDigits`  
*Diperlukan* - Tidak  
*Nilai default* - 128

**TerminatorDigits**  
*Deskripsi* — Digit digunakan untuk mengakhiri input jika pengguna memasukkan kurang dari MaxNumberOfDigits  
*Nilai yang diizinkan* - Salah satu dari: 0 1 2 3 4 5 6 7 8 9 \# atau\*  
*Diperlukan* - Tidak  
*Nilai default* - \#

**InBetweenDigitsDurationInMilliseconds**  
*Deskripsi* — Waktu tunggu dalam milidetik antara input digit sebelum memainkan pidato kegagalan.  
*Nilai yang diizinkan* - Lebih besar dari nol  
*Diperlukan* - Tidak  
*Nilai default* - Jika tidak ditentukan, default ke nilai `RepeatDurationInMilliseconds`

**Repeat**  
*Deskripsi* — Jumlah total upaya untuk mendapatkan digit. Jika Anda menghilangkan parameter ini, defaultnya adalah salah satu upaya untuk mengumpulkan digit.  
*Nilai yang diizinkan* - Lebih besar dari nol  
*Diperlukan* - Tidak  
*Nilai default* - 1

**RepeatDurationInMilliseconds**  
*Deskripsi* — Batas waktu dalam milidetik untuk setiap upaya mendapatkan digit.  
*Nilai yang diizinkan* - Lebih besar dari nol  
*Diperlukan* - Ya  
*Nilai default* - Tidak ada

## Menangani ACTION\_SUCCESSFUL acara
<a name="speak-digits-success"></a>

Contoh berikut menunjukkan `ACTION_SUCCESSFUL` peristiwa yang khas.

```
{
    "SchemaVersion": "1.0",
    "Sequence": 3,
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
            "Type":  "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "{{call-id-1}}",          
                "InputDigitsRegex":  "{{^\d{2}#$}}", 
                "SpeechParameters": {
                    "Engine":  "{{neural}}",         
                    "LanguageCode": "{{en-US}}",    
                    "Text":  "{{Hello World}}",           
                    "TextType":  "{{text}}",         
                    "VoiceId": "{{Joanna}}"         
                },
                "FailureSpeechParameters": {
                    "Engine":  "{{neural}}",         
                    "LanguageCode":  "{{en-US}}",    
                    "Text":  "{{Hello World}}",           
                    "TextType": "{{text}}",         
                    "VoiceId": "{{Joanna}}"         
                },
                "MinNumberOfDigits": {{3}},         
                "MaxNumberOfDigits": {{5}},         
                "TerminatorDigits": ["{{#}}"],      
                "InBetweenDigitsDurationInMilliseconds": {{5000}},  
                "Repeat": {{3}},                    
                "RepeatDurationInMilliseconds": {{10000}}           
            },
            "ReceivedDigits": "{{1234}}"
    },
    "CallDetails":{       
       ...
    }
}
```

## Menangani ACTION\_FAILED acara
<a name="speak-digits-fail"></a>

Contoh berikut menunjukkan `ACTION_FAILED` peristiwa yang khas.

```
{
    "SchemaVersion": "1.0",
    "Sequence":2,
    "InvocationEventType": "ACTION_FAILED",
    "ActionData":{
            "Type":  "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "{{call-id-1}}",          
                "InputDigitsRegex":  "{{^\d{2}#$}}", 
                "SpeechParameters": {
                    "Engine":  "{{neural}}",         
                    "LanguageCode": "{{en-US}}",    
                    "Text":  "{{Hello World}}",           
                    "TextType":  "{{text}}",         
                    "VoiceId": "{{Joanna}}"         
                },
                "FailureSpeechParameters": {
                    "Engine":  "{{neural}}",         
                    "LanguageCode":  "{{en-US}}",    
                    "Text":  "{{Hello World}}",          
                    "TextType": "{{text}}",        
                    "VoiceId": "{{Joanna}}"        
                },
                "MinNumberOfDigits": {{3}},      
                "MaxNumberOfDigits": {{5}},        
                "TerminatorDigits": ["{{#}}"],      
                "InBetweenDigitsDurationInMilliseconds": {{5000}},  
                "Repeat": {{3}},                    
                "RepeatDurationInMilliseconds": {{10000}}         
            },
            "ErrorType":  "SystemException",
            "ErrorMessage":  "System error while running action"
    },
    "CallDetails":{       
       ...
    }
}
```

**Penanganan kesalahan**  
Tabel ini mencantumkan dan menjelaskan pesan kesalahan yang dilemparkan oleh `Speak` tindakan.


| Kesalahan | Pesan | Alasan | 
| --- | --- | --- | 
| `AccessDenied` | `AWSServiceRoleForAmazonChimeVoiceConnector`Peran tidak dikonfigurasi dengan benar. | Peran yang digunakan untuk membuat permintaan ke Amazon Polly tidak ada atau tidak memiliki izin. Untuk mengatasinya, lihat langkah-langkah di [Menggunakan peran terkait layanan Amazon Chime SDK Voice Connector](#speak-digits-policy) bagian | 
| `InvalidActionParameter` |   | Ada kesalahan memvalidasi parameter tindakan. Untuk meninjau parameter yang tersedia untuk tindakan ini, dan opsinya, lihat [SynthesizeSpeech](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html)di Panduan Pengembang Amazon Polly. | 
| `MissingRequiredActionParameter` | `Text`adalah parameter yang diperlukan. | Parameter tindakan harus memiliki `Text` nilai | 
| `MissingRequiredActionParameter` | `Text`dibatasi hingga 1.000 karakter | Teks melebihi batas karakter. | 
| `SystemException` | Kesalahan sistem saat menjalankan tindakan. | Terjadi kesalahan sistem saat menjalankan tindakan. | 

## Menggunakan peran terkait layanan Amazon Chime SDK Voice Connector
<a name="speak-digits-policy"></a>

Anda tidak perlu membuat peran terkait layanan untuk tindakan `Speak` atau `SpeakAndGetDigits` secara manual. Saat Anda membuat atau memperbarui aplikasi media SIP di konsol Amazon Chime SDK, atau AWS API, Amazon Chime SDK akan membuat peran terkait layanan untuk Anda. AWS Command Line Interface

Untuk informasi selengkapnya, lihat [Menggunakan peran terkait layanan Amazon Chime](https://docs.aws.amazon.com/chime/latest/ag/using-service-linked-roles-stream.html) di Panduan Administrator SDK *Amazon* Chime.