using UdonSharp; using UnityEngine; using UnityEngine.Video; using VRC.SDK3.Components.Video; using VRC.SDK3.Video.Components.Base; using VRC.SDKBase; using VRC.Udon; [UdonBehaviourSyncMode(BehaviourSyncMode.Manual)] public class MultiRoundVideoPlayer : UdonSharpBehaviour {/* [SerializeField] private BaseVRCVideoPlayer _VideoPlayer; public void LoadURL(VRCUrl URL) { _VideoPlayer.LoadURL(URL); SetVideoLoadStatus(IndicationStatus.Loading); } public void Play() { _VideoPlayer.Play(); } public void Stop() { _VideoPlayer.Stop(); } public bool IsReady() { return _VideoPlayer.IsReady; } public bool IsPlaying() { return _VideoPlayer.IsPlaying; } public float GetDuration() { return _VideoPlayer.GetDuration(); } public float GetTime() { return _VideoPlayer.GetTime(); } public override void OnVideoError(VideoError VideoError) { switch (VideoError) { case VideoError.Unknown: Debug.LogError("[MultiRoundVideoPlayer] Unknown playback error."); break; case VideoError.InvalidURL: Debug.LogError("[MultiRoundVideoPlayer] Invalid URL."); break; case VideoError.AccessDenied: Debug.LogError("[MultiRoundVideoPlayer] Access denied."); break; case VideoError.PlayerError: Debug.LogError("[MultiRoundVideoPlayer] Error with video player."); break; case VideoError.RateLimited: Debug.LogError("[MultiRoundVideoPlayer] Rate limited. Attempting another reload in 2 seconds..."); SendCustomEventDelayedSeconds(nameof(LoadURL), 2.1f); return; } //if (_UseFallback) //{ _StopVideo_Private(); //} //else //{ // Debug.Log("[CaseVideoSyncPlayer] Attempting fallback in 5 seconds..."); // SendCustomEventDelayedSeconds(nameof(TryLoadFallbackURL), 5.5f); //} SetVideoLoadStatus(IndicationStatus.LoadFailure); base.OnVideoError(VideoError); } */}