

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

# RecordAudio
<a name="record-audio"></a>

Memungkinkan aplikasi media SIP merekam media dari ID panggilan yang diberikan. Misalnya, aplikasi pesan suara dan pengumuman peserta rapat. Aplikasi merekam hingga mencapai durasi yang Anda tetapkan, atau ketika pengguna menekan salah satu`RecordingTerminators`, atau ketika aplikasi mendeteksi keheningan. Dalam kasus tersebut, tindakan memberi tahu aplikasi Anda untuk memasukkan file media yang dihasilkan ke dalam bucket S3 yang ditentukan. Bucket S3 harus memiliki AWS akun yang sama dengan aplikasi media SIP. Selain itu, tindakan harus diberikan `s3:PutObject` dan `s3:PutObjectAcl` izin kepada kepala layanan Amazon Chime SDK Voice Connector, kepala layanan [Amazon Chime SDK](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) Voice Connector,. `voiceconnector.chime.amazonaws.com` 

**catatan**  
Rekaman yang dibuat menggunakan fitur ini dapat tunduk pada undang-undang atau peraturan mengenai pencatatan komunikasi elektronik. Adalah tanggung jawab Anda dan pengguna akhir Anda untuk mematuhi semua hukum yang berlaku mengenai rekaman, termasuk memberi tahu semua peserta dengan benar dalam sesi rekaman atau komunikasi bahwa sesi atau komunikasi sedang direkam, dan mendapatkan persetujuan mereka.

Contoh berikut memberikan `s3:PutObjectAcl` izin `s3:PutObject` dan kepada prinsipal layanan Amazon Chime SDK Voice Connector.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SMARead",
            "Effect": "Allow",
            "Principal": {
                "Service": "voiceconnector.chime.amazonaws.com"
            },
            "Action": [                
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::{{bucket-name}}/*"
        }
    ]
}
```

------

Contoh berikut berhenti merekam ketika penelepon menekan tombol pound (\#), atau 10 detik berlalu tanpa aktivitas, atau penelepon tetap diam selama 3 detik, dan menulis file media yang dihasilkan ke lokasi yang ditentukan oleh parameter. `RecordingDestination`

**catatan**  
Contoh ini menggunakan `CallId` parameter. Anda dapat menggunakan `ParticipantTag` parameter sebagai gantinya, tetapi Anda tidak dapat menggunakan keduanya.

```
{
    "Type": "RecordAudio",
    "Parameters": {
        "CallId": "{{call-id-1}}",
        "DurationInSeconds": "{{10}}",
        "SilenceDurationInSeconds": {{3}},
        "SilenceThreshold": {{100}},
        "RecordingTerminators": [
            "{{#}}"
        ],
        "RecordingDestination": {
            "Type": "S3",
            "BucketName": "{{valid-bucket-name}}",
            "Prefix": "{{valid-prefix-name}}"
        }
    }
}
```

**CallId**  
*Deskripsi* — `CallId` peserta dalam `CallDetails` pemanggilan AWS Lambda fungsi  
*Nilai yang diizinkan* - ID panggilan yang valid  
*Diperlukan* - Tidak  
*Nilai default* - Tidak ada

**ParticipantTag**  
*Deskripsi* — `ParticipantTag` salah satu peserta yang terhubung di `CallDetails`  
*Nilai yang diizinkan* - `LEG-A` atau `LEG-B`  
*Diperlukan* - Tidak  
*Nilai default* - `ParticipantTag` dari yang dipanggil `callLeg` Diabaikan jika Anda menentukan `CallId`

**RecordingDestination.Type**  
*Deskripsi* — Jenis tujuan. Hanya S3.  
*Nilai yang diizinkan* - S3  
*Diperlukan* - Ya  
*Nilai default* - Tidak ada

**RecordingDestination.BucketName**  
*Deskripsi* — Nama bucket S3 yang valid. Bucket harus memiliki akses ke kepala [layanan Amazon Chime SDK Voice Connector](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html),. `voiceconnector.chime.amazonaws.com`  
*Nilai yang diizinkan* — Bucket S3 valid yang dapat diakses oleh Amazon Chime SDK dan tindakannya. `s3:PutObject` `s3:PutObjectAcl`  
*Diperlukan* - Ya  
*Nilai default* - Tidak ada

****RecordingDestination.Prefix****  
*Deskripsi* - Awalan S3 dari file rekaman  
*Nilai yang diizinkan* - Nama awalan yang valid yang berisi hingga 979 karakter aman. Untuk informasi selengkapnya tentang karakter aman, lihat [Karakter aman](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines-safe-characters) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.  
*Diperlukan* - Tidak  
*Default* - Tidak ada. Jika tidak ditentukan, rekaman disimpan ke root bucket S3.

**DurationInSeconds**  
*Deskripsi* — Durasi perekaman, dalam hitungan detik  
*Nilai yang diizinkan* -> 0  
*Diperlukan* - Tidak  
*Nilai default* - Tidak ada

****SilenceDurationInSeconds****  
*Deskripsi* — Durasi keheningan dalam hitungan detik, setelah itu perekaman berhenti. Jika tidak ditentukan, deteksi keheningan dinonaktifkan.  
*Nilai yang diizinkan* - [1; 1000]  
*Diperlukan* - Tidak  
*Nilai default* - 200

****SilenceThreshold****  
*Deskripsi* — Tingkat kebisingan yang dianggap “diam.” Jika Anda tidak menentukan`SilenceDurationInSeconds`, parameter ini diabaikan.  

**Nilai referensi (tingkat kebisingan dan ambang batas untuk memperlakukan kebisingan sebagai keheningan):**
+ 1—30dB atau di bawahnya, seperti ruangan yang tenang
+ 100—40-50 dB, seperti bisikan atau kantor yang tenang
+ 200—60dB, seperti kantor yang ramai
+ 1000—75 dB, seperti orang yang keras atau musik
*Nilai yang diizinkan* - [1; 1000]  
*Diperlukan* - Tidak  
*Nilai default* - 200

**RecordingTerminators**  
*Deskripsi* - Daftar semua terminator rekaman yang tersedia.  
*Nilai yang diizinkan* - Array digit tunggal dan simbol dari [123456789\*0 \#]  
*Diperlukan* - Ya  
*Nilai default* - Tidak ada

## Menangani acara ACTION\_SUCCESSFUSED
<a name="handle-action-successful"></a>

Saat perekaman berakhir, aplikasi media Amazon Chime SDK SIP memanggil AWS Lambda fungsi tersebut dan meneruskannya ke acara ACTION\_SUCCESSFUCCESS, bersama dengan hasil pemanggilan.

```
{
    "SchemaVersion": "1.0",
    "Sequence": INTEGER,
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
        "Type" : "RecordAudio",
        "Parameters": {
           ...           
        },
        "RecordingDestination": {
            "Type": "S3",
            "BucketName": "{{valid-bucket-name}}",
            "Key": "{{valid-S3-key}}"              
        },
        "RecordingTerminatorUsed":"{{#}}"
    },
    "CallDetails": {
        ...
    }
}
```

`ACTION_SUCCESSFUL`Acara berisi`ActionData`, yang berisi bidang-bidang ini:

**Type**  
*Deskripsi* — Jenis tindakan,`RecordAudio`.

**Parameters**  
*Deskripsi* — Parameter tindakan.

**RecordingDestination.Type**  
*Deskripsi* — Jenis tujuan. Hanya S3. 

**RecordingDestination.BucketName**  
*Deskripsi* - Bucket S3 yang berisi file rekaman. 

**RecordingDestination.Key**  
*Deskripsi* - Tombol S3 dari file rekaman.

**RecordingTerminatorUsed**  
*Deskripsi* — Terminator yang digunakan untuk menghentikan perekaman — salah satu terminator yang diteruskan dalam parameter. `RecordingTerminators` Jika perekaman berhenti setelah mencapai durasi maksimum (`DurationInSeconds`) atau karena silent (`SilenceDurationInSeconds`), pasangan kunci-nilai ini tidak termasuk dalam output.

**Penanganan kesalahan**  
Untuk kesalahan validasi, aplikasi media SIP memanggil AWS Lambda fungsi dengan pesan kesalahan yang sesuai. Tabel berikut mencantumkan kemungkinan pesan kesalahan.


|  Kesalahan  |  Pesan  |  Alasan  | 
| --- | --- | --- | 
| `InvalidActionParameter` | `CallId`atau `ParticipantTag` parameter untuk tindakan tidak valid.<br />`DurationInSeconds`nilai parameter tidak valid.<br />`SilenceDurationInSeconds`nilai parameter tidak valid.<br />`SilenceThreshold`nilai parameter tidak valid.<br />`RecordingDestination`nilai parameter tidak valid.<br />Terjadi kesalahan saat mengunggah rekaman ke bucket S3. | Parameter apa pun tidak valid. | 
| `SystemException` | Kesalahan sistem saat menjalankan tindakan. | Jenis lain dari kesalahan sistem terjadi saat menjalankan tindakan. | 

## Menangani ACTION\_FAILED acara
<a name="handle-action-failed"></a>

Ketika tindakan gagal merekam media pada leg panggilan, aplikasi media SIP memanggil AWS Lambda fungsi dengan jenis `ACTION_FAILED` acara. Lihat contoh berikut ini.

```
{
    "SchemaVersion": "1.0",
    "Sequence": {{5}},
    "InvocationEventType": "ACTION_FAILED",
    "ActionData": {
        "Type" : "RecordAudio",
        "Parameters": {
           ...           
        },
        "ErrorType": "InvalidActionParameter",
        "ErrorMessage": "RecordingDestination parameter value is invalid."
    },
    "CallDetails": {
        ...
    }
}
```

Lihat contoh kerja di GitHub: [https://github.com/aws-samples/amazon-chime-sma-bridging](https://github.com/aws-samples/amazon-chime-sma-bridging)