Вот почему я предоставил два способа сделать это так, чтобы в случае неудачи сработал другой. Я думаю, вы должны подать отчет об ошибке, потому что ваш оригинальный код должен работать. Теперь, кажется, работает в моей версии Unity 5.6.

я есть класс MovieController, который управляет видео в моем проекте. Я использую новый компонент видеоплеера, представленный в Unity 5.6.

Я хотел бы вызвать метод, когда фильм закончится. Пока этот метод толькоDebug.Log, как вы видете:

using UnityEngine;
using UnityEngine.Video;

public class MovieController : MonoBehaviour
{
    private VideoPlayer m_VideoPlayer;

    void Awake () 
    {
        m_VideoPlayer = GetComponent<VideoPlayer>();
        m_VideoPlayer.loopPointReached += OnMovieFinished; // loopPointReached is the event for the end of the video
    }

    void OnMovieFinished(VideoPlayer player)
    {
        Debug.Log("Event for movie end called");
        player.Stop();
    }
}

Моя проблема в том, чтоOnMovieFinished не вызывается в конце видео, и я просто получаю черный экран и ничего в консоли.

Ответы на вопрос(1)

Ваш ответ на вопрос