---
title: RekamanVideo
slug: world-sdk-guide-id/rekamanvideo
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

Anda dapat menyimpan atau membagikan video di dalam Dunia menggunakan fungsi terkait video dalam API WorldVideoRecorder, dan membuat umpan menggunakan video.

Untuk menggunakan fungsi perekaman video dan menyimpan/membagikan/membuat pos umpan, Anda harus membuat pernyataan impor sebagai berikut.

```typescript
import { WorldVideoRecorder } from 'ZEPETO.World';
```

API WorldVideoRecorder menyediakan fungsi-fungsi terkait video berikut.

| **API**                                                                                                                                                    | **Deskripsi**                                                                                                                                                                                                                                                                                                                                                                                                     |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| WorldVideoRecorder.StartRecording(camera: UnityEngine.Camera, resolutions: VideoResolutions, durationSecond: number)\:boolean                              | Mulai merekam video. Anda dapat mengatur kamera perekaman, resolusi video, dan waktu perekaman sebagai parameter. Hasil pengembalian menunjukkan apakah perekaman berhasil dimulai atau tidak.<br /><br />- enum VideoResolutions \{ W1280xH720 = 0, W720xH1280 = 1, W1920xH1080 = 2, W1080xH1920 = 3 }<br />- durationSecond : Nilai maksimum adalah 60, jadi silakan masukkan kurang dari 60 jika memungkinkan. |
| WorldVideoRecorder.StopRecording()                                                                                                                         | Hentikan perekaman video yang sedang berlangsung.                                                                                                                                                                                                                                                                                                                                                                 |
| WorldVideoRecorder.IsRecording()\:boolean                                                                                                                  | Mengembalikan informasi apakah perekaman video dilanjutkan atau tidak.                                                                                                                                                                                                                                                                                                                                            |
| WorldVideoRecorder.SaveToCameraRoll(callback: System.Action$1)                                                                                             | Simpan video ke perpustakaan foto.                                                                                                                                                                                                                                                                                                                                                                                |
| WorldVideoRecorder.Share(callback: System.Action$1)                                                                                                        | Bagikan video dengan aplikasi eksternal.                                                                                                                                                                                                                                                                                                                                                                          |
| WorldVideoRecorder.CreateFeed(contents: string, $callback: System.Action$1)                                                                                | Unggah video ke feed. Faktor pertama, konten, memungkinkan Anda untuk menentukan isi dari sebuah pos.                                                                                                                                                                                                                                                                                                             |
| WorldVideoRecorder.AddVideoPlayerComponent(playerObject: UnityEngine.GameObject, renderTexture: UnityEngine.RenderTexture)\:UnityEngine\_Video.VideoPlayer | Tambahkan komponen pemutar video ke GameObject tempat Anda ingin memutar video, dan sambungkan file video yang direkam. Ini mengembalikan pemutar video yang ditambahkan dan memungkinkan Anda untuk menentukan lebar, tinggi, atau RenderTexture untuk memutar video, tergantung pada parameter.                                                                                                                 |
| WorldVideoRecorder.GetThumbnail()\:UnityEngine.Texture2D;                                                                                                  | Mengembalikan thumbnail dari video yang direkam.                                                                                                                                                                                                                                                                                                                                                                  |

Selanjutnya adalah contoh pemanggilan fungsi dari fitur Simpan/Bagikan/Feed untuk video saya dalam World Video Recorder.

:::hint{type="danger"}
- Tidak tersedia untuk memeriksanya di lingkungan editor Unity, tetapi tersedia untuk memeriksanya saat bermain melalui aplikasi.
- Resolusi dicatat pada nilai yang ditentukan saat disimpan sebagai file, tetapi resolusi dapat berubah saat diunggah ke ZEPETO Feed.
- Jika Anda memasukkan nilai lebih dari 60 untuk durationSecond, perekaman tidak akan berfungsi dengan baik.
:::

```typescript
WorldVideoRecorder.SaveToCameraRoll(result => {console.log(`${result}`)});   

WorldVideoRecorder.Share(result => {console.log(`${result}`)});

WorldVideoRecorder.CreateFeed("[konten]", result => {console.log(`${result}`)});
```



Berikut adalah contoh kode lengkap yang menggunakan fungsi perekaman video saya dalam WorldVideoRecorder menggunakan RenderTexture.

```typescript
import { Camera, GameObject, RenderTexture } from 'UnityEngine';
import { Button, RawImage } from 'UnityEngine.UI';
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { VideoResolutions, WorldVideoRecorder } from 'ZEPETO.World';

export default class WorldVideoRecorderExample extends ZepetoScriptBehaviour {
    
    // WorldVideoRecorder Video UI 
    public startRecordingButton: Button;
    public stopRecordingButton: Button;
    public saveVideoButton: Button;
    public shareVideoButton: Button;
    public createFeedButton: Button;
    public getThumbnailButton: Button;
    public thumbnailImage: RawImage;

    // Recorder Camera 
    public recorderCamera: Camera;

    // Target Texture 
    public targetTexture: RenderTexture;

    // VideoPlayer Object 
    private videoPlayerObject: GameObject;

    Awake() {
        this.videoPlayerObject = new GameObject();
    }

    Start() {
        this.startRecordingButton.onClick.AddListener(() => {
            if (false == WorldVideoRecorder.StartRecording(this.recorderCamera, VideoResolutions.W1280xH720, 15)) {
                return;
            }

            this.StartCoroutine(this.CheckRecording());
        });

        this.stopRecordingButton.onClick.AddListener(() => {
            if (false == WorldVideoRecorder.IsRecording()) {
                return;
            }

            WorldVideoRecorder.StopRecording();
        });

        this.saveVideoButton.onClick.AddListener(() => {
            if (false == WorldVideoRecorder.IsRecording()) {
                WorldVideoRecorder.SaveToCameraRoll(result => { console.log(`${result}`) });
            }
        });

        this.shareVideoButton.onClick.AddListener(() => {
            if (false == WorldVideoRecorder.IsRecording()) {
                WorldVideoRecorder.Share(result => { console.log(`${result}`) });
            }
        });

        this.createFeedButton.onClick.AddListener(() => {
            if (false == WorldVideoRecorder.IsRecording()) {
                WorldVideoRecorder.CreateFeed("[contents]", result => { console.log(`${result}`) });
            }
        });

        this.getThumbnailButton.onClick.AddListener(() => {
            if (false == WorldVideoRecorder.IsRecording()) {
                this.thumbnailImage.texture = WorldVideoRecorder.GetThumbnail();
            }
        });
    }

    *CheckRecording() {
        while (WorldVideoRecorder.IsRecording()) {
            yield null;
        }

        let videoPlayer = WorldVideoRecorder.AddVideoPlayerComponent(this.videoPlayerObject, this.targetTexture);

        if (videoPlayer == null) {
            return;
        }
        
        videoPlayer.Play();
    }
}
```

Setelah menulis skrip, buat tombol dan gambar mentah yang diperlukan di kanvas.

Setelah itu, tetapkan setiap komponen di inspector.

- Untuk kamera, Anda dapat menggunakan komponen kamera normal.
- Untuk tekstur target, Buat > Silakan buat sebagai Render Texture.

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-9Q1Nl9SoGPJfMgEClrJkV-20240904-102426.png" size="58" width="337" height="441" position="center" showCaption="false"}

:::hint{type="success"}
**👍 Tip**

- Jika Anda menggunakan tekstur render yang sama seperti tangkapan layar, mungkin tidak akan dirender dengan benar, jadi silakan buat tekstur render baru hanya untuk merekam dan gunakan itu.
:::



Anda dapat menguji fungsi perekaman video dengan menjalankannya melalui build mobile QR.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-_RN5L3ExW9fSNhlLPLc30-20240904-102426.png)

