You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.8 KiB
89 lines
2.8 KiB
using UnityEngine; |
|
using System.Collections; |
|
|
|
//----------------------------------------------------------------------------- |
|
// Copyright 2015-2016 RenderHeads Ltd. All rights reserved. |
|
//----------------------------------------------------------------------------- |
|
|
|
namespace RenderHeads.Media.AVProVideo |
|
{ |
|
public abstract class BaseMediaPlayer : IMediaPlayer, IMediaControl, IMediaInfo, IMediaProducer, System.IDisposable |
|
{ |
|
public abstract string GetVersion(); |
|
|
|
public abstract bool OpenVideoFromFile( string path ); |
|
public abstract void CloseVideo(); |
|
|
|
public abstract void SetLooping( bool bLooping ); |
|
public abstract bool IsLooping(); |
|
|
|
public abstract bool HasMetaData(); |
|
public abstract bool CanPlay(); |
|
public abstract void Play(); |
|
public abstract void Pause(); |
|
public abstract void Stop(); |
|
public abstract void Rewind(); |
|
|
|
public abstract void Seek(float timeMs); |
|
public abstract void SeekFast(float timeMs); |
|
public abstract float GetCurrentTimeMs(); |
|
|
|
public abstract float GetPlaybackRate(); |
|
public abstract void SetPlaybackRate(float rate); |
|
|
|
public abstract float GetDurationMs(); |
|
public abstract int GetVideoWidth(); |
|
public abstract int GetVideoHeight(); |
|
public abstract float GetVideoPlaybackRate(); |
|
public abstract bool HasAudio(); |
|
public abstract bool HasVideo(); |
|
|
|
public abstract bool IsSeeking(); |
|
public abstract bool IsPlaying(); |
|
public abstract bool IsPaused(); |
|
public abstract bool IsFinished(); |
|
public abstract bool IsBuffering(); |
|
|
|
public abstract Texture GetTexture(); |
|
public abstract int GetTextureFrameCount(); |
|
public abstract bool RequiresVerticalFlip(); |
|
|
|
public abstract void MuteAudio(bool bMuted); |
|
public abstract bool IsMuted(); |
|
public abstract void SetVolume(float volume); |
|
public abstract float GetVolume(); |
|
|
|
public abstract void Update(); |
|
public abstract void Render(); |
|
public abstract void Dispose(); |
|
|
|
public ErrorCode GetLastError() |
|
{ |
|
return _lastError; |
|
} |
|
|
|
protected ErrorCode _lastError = ErrorCode.None; |
|
|
|
private FilterMode _defaultTextureFilterMode = FilterMode.Bilinear; |
|
private TextureWrapMode _defaultTextureWrapMode = TextureWrapMode.Clamp; |
|
private int _defaultTextureAnisoLevel = 1; |
|
|
|
public void SetTextureProperties(FilterMode filterMode = FilterMode.Bilinear, TextureWrapMode wrapMode = TextureWrapMode.Clamp, int anisoLevel = 0) |
|
{ |
|
_defaultTextureFilterMode = filterMode; |
|
_defaultTextureWrapMode = wrapMode; |
|
_defaultTextureAnisoLevel = anisoLevel; |
|
ApplyTextureProperties(GetTexture()); |
|
} |
|
|
|
protected void ApplyTextureProperties(Texture texture) |
|
{ |
|
if (texture != null) |
|
{ |
|
texture.filterMode = _defaultTextureFilterMode; |
|
texture.wrapMode = _defaultTextureWrapMode; |
|
texture.anisoLevel = _defaultTextureAnisoLevel; |
|
} |
|
} |
|
} |
|
} |