CarmenSandiego/Assets/UdonSharp/Video Players/MultiRoundVideoPlayer.cs

89 lines
1.8 KiB
C#

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);
}
*/}