VideoPlayer.StepForward
Declaration
public void StepForward();Описание
Немедленно перенести текущее время на один кадр вперед.
Если видео в настоящее время воспроизводится, этот метод приостановит видео перед переходом к следующему кадру. Однако, если VideoPlayer не подготовлен, этот метод запустит подготовку и покажет первый кадр, но не перейдет к следующему кадру. Он переходит от неинициализованного к кадру 0.
Этот метод полезен, если вы хотите:
- Проанализируйте каждый кадр видео.
- Отладка проблем, связанных с видео или элементов, которые играют в определенных кадрах.
- Взять более точный контроль над скоростью воспроизведения, потому что вы можете точно выбрать, когда следующий кадр появится. Однако реализация WebGL не может обеспечить точное управление кадрами из-за ограничений платформы.
using UnityEngine; using UnityEngine.Video; using System.Collections;
// In the Inspector of your GameObject, attach this script and a VideoPlayer component. // Also, assign a VideoClip to your VideoPlayer component. // Use this script to cycle through a video frame by frame.
public class StepForwardExample : MonoBehaviour { VideoPlayer videoPlayer;
public void Start() { videoPlayer = GetComponent<VideoPlayer>(); videoPlayer.Pause(); }
private void Update() { if (Input.GetKeyDown("space") && videoPlayer.isPrepared) { Debug.Log("Space key pressed."); // Go forward one frame in the video when you press the Spacebar. videoPlayer.StepForward(); } } }