| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347 | 
							- using System;
 
- using System.Text;
 
- using UnityEngine;
 
- //-----------------------------------------------------------------------------
 
- // Copyright 2015-2021 RenderHeads Ltd.  All rights reserved.
 
- //-----------------------------------------------------------------------------
 
- namespace RenderHeads.Media.AVProVideo
 
- {
 
- 	/// <summary>
 
- 	/// This media player fakes video playback for platforms that aren't supported
 
- 	/// </summary>
 
- 	public sealed partial class NullMediaPlayer : BaseMediaPlayer
 
- 	{
 
- 		private bool		_isPlaying = false;
 
- 		private bool		_isPaused = false;
 
- 		private double		_currentTime = 0.0;
 
- //		private bool		_audioMuted = false;
 
- 		private float		_volume = 0.0f;
 
- 		private float		_playbackRate = 1.0f;
 
- 		private bool		_bLoop;
 
- 		private int			_Width = 256;
 
- 		private int			_height = 256;
 
- 		private Texture2D	_texture;
 
- 		private Texture2D	_texture_AVPro;
 
- 		private Texture2D	_texture_AVPro1;
 
- 		private float		_fakeFlipTime;
 
- 		private int			_frameCount;
 
- 		private const float FrameRate = 10f;
 
- 		/// <inheritdoc/>
 
- 		public override string GetVersion()
 
- 		{
 
- 			return "0.0.0";
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override string GetExpectedVersion()
 
- 		{
 
- 			return GetVersion();
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool OpenMedia(string path, long offset, string httpHeader, MediaHints mediaHints, int forceFileFormat = 0, bool startWithHighestBitrate = false)
 
- 		{
 
- 			_texture_AVPro = (Texture2D)Resources.Load("Textures/AVProVideo-NullPlayer-Frame0");
 
- 			_texture_AVPro1 = (Texture2D)Resources.Load("Textures/AVProVideo-NullPlayer-Frame1");
 
- 			if( _texture_AVPro )
 
- 			{
 
- 				_Width = _texture_AVPro.width;
 
- 				_height = _texture_AVPro.height;
 
- 			}
 
- 			_texture = _texture_AVPro;
 
- 			_fakeFlipTime = 0.0f;
 
- 			_frameCount = 0;
 
- 			return true;
 
- 		}
 
- 		/// <inheritdoc/>
 
-         public override void CloseMedia()
 
-         {
 
- 			_frameCount = 0;
 
- 			Resources.UnloadAsset(_texture_AVPro);
 
- 			Resources.UnloadAsset(_texture_AVPro1);
 
- 			base.CloseMedia();
 
-         }
 
- 		/// <inheritdoc/>
 
-         public override void SetLooping( bool bLooping )
 
- 		{
 
- 			_bLoop = bLooping;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool IsLooping()
 
- 		{
 
- 			return _bLoop;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool HasMetaData()
 
- 		{
 
- 			return true;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool CanPlay()
 
- 		{
 
- 			return true;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool HasAudio()
 
- 		{
 
- 			return false;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool HasVideo()
 
- 		{
 
- 			return false;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void Play()
 
- 		{
 
- 			_isPlaying = true;
 
- 			_isPaused = false;
 
- 			_fakeFlipTime = 0.0f;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void Pause()
 
- 		{
 
- 			_isPlaying = false;
 
- 			_isPaused = true;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void Stop()
 
- 		{
 
- 			_isPlaying = false;
 
- 			_isPaused = false;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool IsSeeking()
 
- 		{
 
- 			return false;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool IsPlaying()
 
- 		{
 
- 			return _isPlaying;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool IsPaused()
 
- 		{
 
- 			return _isPaused;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool IsFinished()
 
- 		{
 
- 			return _isPlaying && (_currentTime >= GetDuration());
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool IsBuffering()
 
- 		{
 
- 			return false;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override double GetDuration()
 
- 		{
 
- 			return 10.0;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override int GetVideoWidth()
 
- 		{
 
- 			return _Width;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override int GetVideoHeight()
 
- 		{
 
- 			return _height;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override float GetVideoDisplayRate()
 
- 		{
 
- 			return FrameRate;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override Texture GetTexture( int index )
 
- 		{
 
- //			return _texture ? _texture : Texture2D.whiteTexture;
 
- 			return _texture;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override int GetTextureFrameCount()
 
- 		{
 
- 			return _frameCount;
 
- 		}
 
- 		internal override StereoPacking InternalGetTextureStereoPacking()
 
- 		{
 
- 			return StereoPacking.Unknown;
 
- 		}		
 
- 		/// <inheritdoc/>
 
- 		public override bool RequiresVerticalFlip()
 
- 		{
 
- 			return false;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void Seek(double time)
 
- 		{
 
- 			_currentTime = time;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void SeekFast(double time)
 
- 		{
 
- 			_currentTime = time;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override double GetCurrentTime()
 
- 		{
 
- 			return _currentTime;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void SetPlaybackRate(float rate)
 
- 		{
 
- 			_playbackRate = rate;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override float GetPlaybackRate()
 
- 		{
 
- 			return _playbackRate;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void MuteAudio(bool bMuted)
 
- 		{
 
- //			_audioMuted = bMuted;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override bool IsMuted()
 
- 		{
 
- 			return true;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void SetVolume(float volume)
 
- 		{
 
- 			_volume = volume;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override float GetVolume()
 
- 		{
 
- 			return _volume;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override float GetVideoFrameRate()
 
- 		{
 
- 			return 0.0f;
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void Update()
 
- 		{
 
- 			UpdateSubtitles();
 
- 			if (_isPlaying)
 
- 			{
 
- 				_currentTime += Time.deltaTime;
 
- 				if (_currentTime >= GetDuration())
 
- 				{
 
- 					_currentTime = GetDuration();
 
- 					if( _bLoop )
 
- 					{
 
- 						Rewind();
 
- 					}
 
- 				}
 
- 				//
 
- 				_fakeFlipTime += Time.deltaTime;
 
- 				if( _fakeFlipTime >= (1.0 / FrameRate))
 
- 				{
 
- 					_fakeFlipTime = 0.0f;
 
- 					_texture = ( _texture == _texture_AVPro ) ? _texture_AVPro1 : _texture_AVPro;
 
- 					_frameCount++;
 
- 				}
 
- 			}
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void Render()
 
- 		{
 
- 		}
 
- 		/// <inheritdoc/>
 
- 		public override void Dispose()
 
- 		{
 
- 		}
 
- 	}
 
- 	public sealed partial class NullMediaPlayer : BaseMediaPlayer
 
- 	{
 
- 		internal override bool InternalSetActiveTrack(TrackType trackType, int trackUid)
 
- 		{
 
- 			// Set the active text track using the unique identifier
 
- 			// Or disable all text tracks if < 0
 
- 			return false;
 
- 		}
 
- 		internal override bool InternalIsChangedTracks(TrackType trackType)
 
- 		{
 
- 			// Has the tracks changed since the last frame 'tick'
 
- 			return false;
 
- 		}
 
- 		internal override int InternalGetTrackCount(TrackType trackType)
 
- 		{
 
- 			// Return number of text tracks
 
- 			return 0;
 
- 		}
 
- 		internal override TrackBase InternalGetTrackInfo(TrackType trackType, int index, ref bool isActiveTrack)
 
- 		{
 
- 			// Get information about the specific track at index, range is [0...InternalGetTextTrackCount)
 
- 			return null;
 
- 		}
 
- 		internal override bool InternalIsChangedTextCue()
 
- 		{
 
- 			// Has the text cue changed since the last frame 'tick'
 
- 			return false;
 
- 		}
 
- 		internal override string InternalGetCurrentTextCue()
 
- 		{
 
- 			return null;
 
- 		}
 
- 	}
 
- }
 
 
  |