示例#1
0
    protected override void Awake()
    {
        base.Awake();

        m_CGCamera = GetComponent <Canvas>().worldCamera;

        m_video = transform.AddUINodeStrech("video").GetComponentDefault <VideoPlayer>();
        var audio = m_video.GetComponentDefault <AudioSource>();

        audio.playOnAwake = false;

        m_video.playOnAwake               = false;
        m_video.waitForFirstFrame         = true;
        m_video.source                    = VideoSource.Url;
        m_video.renderMode                = VideoRenderMode.CameraFarPlane;
        m_video.targetCamera              = m_CGCamera;
        m_video.aspectRatio               = VideoAspectRatio.Stretch;
        m_video.audioOutputMode           = VideoAudioOutputMode.AudioSource;
        m_video.controlledAudioTrackCount = 1;

        m_video.EnableAudioTrack(0, true);
        m_video.SetTargetAudioSource(0, audio);

        var vimg = m_video.GetComponentDefault <Image>();
        var vbtn = m_video.GetComponentDefault <Button>();

        vimg.color         = Color.black.SetAlpha(0);
        vbtn.targetGraphic = vimg;
        vbtn.onClick.AddListener(_Stop);

        m_video.loopPointReached += OnCGComplete;
        m_video.errorReceived    += OnCGError;

        gameObject.SetActive(false);
        m_CGCamera.gameObject.SetActive(false);

        OnUICanvasFit();

        EventManager.AddEventListener(Events.UI_CANVAS_FIT, OnUICanvasFit);
    }