CRÉEZ VOTRE MONDE
Enregistrement

VideoRecording

5min
vous pouvez enregistrer ou partager des vidéos dans le monde en utilisant des fonctions liées aux vidéos dans l'api worldvideorecorder, et créer des flux en utilisant des vidéos pour utiliser les fonctions d'enregistrement vidéo et de sauvegarde/partage/publication de flux, vous devez créer une instruction d'importation comme suit import { worldvideorecorder } from 'zepeto world'; l'api worldvideorecorder fournit les fonctions liées à la vidéo suivantes api description worldvideorecorder startrecording(camera unityengine camera, resolutions videoresolutions, durationsecond number)\ boolean commencez l'enregistrement de la vidéo vous pouvez définir la caméra d'enregistrement, la résolution vidéo et le temps d'enregistrement comme paramètres le résultat de retour indique si le démarrage de l'enregistrement a réussi ou non \ enum videoresolutions { w1280xh720 = 0, w720xh1280 = 1, w1920xh1080 = 2, w1080xh1920 = 3 } \ durationsecond la valeur maximale est 60, donc veuillez entrer une valeur inférieure à 60 si possible worldvideorecorder stoprecording() arrêtez l'enregistrement de la vidéo en cours worldvideorecorder isrecording()\ boolean renvoie si l'enregistrement de la vidéo doit se poursuivre worldvideorecorder savetocameraroll(callback system action$1) enregistrez la vidéo dans la bibliothèque photo worldvideorecorder share(callback system action$1) partagez la vidéo avec une application externe worldvideorecorder createfeed(contents string, $callback system action$1) téléchargez la vidéo dans le fil d'actualité le premier facteur, contents, vous permet de désigner le contenu d'un post worldvideorecorder addvideoplayercomponent(playerobject unityengine gameobject, rendertexture unityengine rendertexture)\ unityengine video videoplayer ajoutez des composants de lecteur vidéo au gameobject où vous souhaitez lire la vidéo, et connectez les fichiers vidéo enregistrés cela renvoie le lecteur vidéo ajouté et vous permet de désigner la largeur, la hauteur ou le rendertexture pour lire la vidéo, en fonction des paramètres worldvideorecorder getthumbnail()\ unityengine texture2d; renvoie la miniature de la vidéo enregistrée ensuite, voici un exemple d'appel des fonctions de sauvegarde/partage/publication de mes vidéos dans le world video recorder il n'est pas possible de le vérifier dans l'environnement de l'éditeur unity, mais il est possible de le vérifier lors de la lecture via l'application la résolution est enregistrée à la valeur spécifiée lorsqu'elle est sauvegardée en tant que fichier, mais la résolution peut changer lorsqu'elle est téléchargée sur le zepeto feed si vous entrez une valeur supérieure à 60 pour durationsecond, l'enregistrement ne fonctionnera pas correctement worldvideorecorder savetocameraroll(result => {console log(`${result}`)}); worldvideorecorder share(result => {console log(`${result}`)}); worldvideorecorder createfeed("\[contents]", result => {console log(`${result}`)}); voici un exemple de code complet qui utilise les fonctions d'enregistrement vidéo dans le worldvideorecorder en utilisant rendertexture 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(); } } après avoir écrit le script, créez les boutons et les images brutes nécessaires sur le canevas après cela, assignez chaque composant dans l'inspecteur pour la caméra, vous pouvez utiliser un composant de caméra normal pour les textures cibles, créer > veuillez le créer en tant que texture de rendu 👍 astuce si vous utilisez la même texture de rendu que la capture d'écran, elle peut ne pas s'afficher correctement, alors veuillez créer une nouvelle texture de rendu juste pour l'enregistrement et l'utiliser vous pouvez tester la fonction d'enregistrement vidéo en la faisant passer par la version mobile qr