Unity 6.3
0 онлайн 33 гостей 3 в системе
Вход

VideoClip.length

Declaration

public double length;

Описание

Длина видеоклипа в секундах. (только для чтения).

Вы можете использовать это свойство для обеспечения того, чтобы любые события, звуки, визуальные эффекты, логика и т.д., которые вы хотите запустить во время видео, происходили в пределах временных ограничений видео.

Примечание: VideoClip может возвращать неточную длину из-за неточности внешнего кодера. Используйте VideoPlayer.frameCount и VideoPlayer.frameRate для получения более точных результатов.

// This script outputs the length of the video clip given by the VideoClip component
// and the length given by calculating the VideoPlayer frame rate and frame count. These can 
// sometimes give different results, but the VideoPlayer is more accurate, especially after the video
// plays through once. 

using UnityEngine; using UnityEngine.Video;

public class VideoClipExample : MonoBehaviour { VideoPlayer videoPlayer;

void Start() { if(videoPlayer != null) { videoPlayer = GetComponent<VideoPlayer>(); videoPlayer.isLooping = true; VideoClip videoClip = videoPlayer.clip;

if (videoClip != null) { CalculateVideoLength(videoClip); videoPlayer.loopPointReached += OnLoop; videoPlayer.Play(); } else { Debug.LogWarning("VideoClip is not assigned."); } } else { Debug.LogWarning("VideoPlayer is not assigned."); } }

void CalculateVideoLength(VideoClip clip) { // Get frame count and frame rate from the VideoPlayer. ulong frameCount = videoPlayer.frameCount; double frameRate = videoPlayer.frameRate;

// Calculate the length in seconds. double lengthInSeconds = frameCount / frameRate;

// Output the length from the VideoClip and the calculated length. Debug.Log($"Initial clip length: {clip.length} seconds."); Debug.Log($"Calculated Length: {lengthInSeconds} seconds."); }

void OnLoop(VideoPlayer vp) { // Recalculate the video length with each loop. CalculateVideoLength(vp.clip); } }