89 lines
1.8 KiB
C#
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);
|
|
}
|
|
*/}
|