Table of Contents

Class WindowsMediaPlayer

Namespace
RenderHeads.Media.AVProVideo
Assembly
AVProVideo.Runtime.dll

Windows desktop and UWP implementation of BaseMediaPlayer

public class WindowsMediaPlayer : BaseMediaPlayer, IVideoTracks, IAudioTracks, ITextTracks, IMediaPlayer, IMediaControl, IMediaInfo, IMediaCache, ITextureProducer, IMediaSubtitles, IBufferedDisplay
Inheritance
object
WindowsMediaPlayer
Implements
Inherited Members

Constructors

Name Description
WindowsMediaPlayer(OptionsWindows)
WindowsMediaPlayer(OptionsWindowsUWP)

Methods

Name Description
AddChunkToMediaBuffer(byte[], ulong, ulong)
BeginRender()
CanPlay()
CloseMedia()
DeinitPlatform()
Dispose()
EndOpenMediaFromBuffer()
EndUpdate()
GetAudioBufferedSampleCount()
GetAudioChannelCount()
GetAudioChannelMask()
GetBalance()
GetBufferedFramesState()
GetCurrentTime()

Returns the current video time in seconds

GetDecoderPerformance(ref int, ref int, ref int)
GetDuration()

Returns media duration in seconds

GetExpectedVersion()
GetLastExtendedErrorCode()
GetPlaybackRate()
GetTexture(int)

Returns the Unity texture containing the current frame image. The texture pointer will return null while the video is loading This texture usually remains the same for the duration of the video. There are cases when this texture can change, for instance: if the graphics device is recreated, a new video is loaded, or if an adaptive stream (eg HLS) is used and it switches video streams.

GetTextureFrameCount()

Returns a count of how many times the texture has been updated

GetTexturePixelAspectRatio()

Returns the DAR/SAR ratio

GetTextureTimeStamp()

Returns the presentation time stamp of the current texture

GetVersion()
GetVideoFrameRate()

Returns the frame rate of the media.

GetVideoHeight()

Returns video height in pixels

GetVideoWidth()

Returns video width in pixels

GetVolume()
GrabAudio(float[], int, int)

Copies the specified amount of audio into the buffer If the specified amount is not yet available then nothing no samples are copied The number of audio samples grabbed are returned

HasAudio()

Returns true if the media has a audio track

HasMetaData()
HasVideo()

Returns true if the media has a visual track

InitialisePlatform()
IsBuffering()
IsFinished()
IsLooping()
IsMuted()
IsPaused()
IsPlaybackStalled()

Checks if the playback is in a stalled state

IsPlaying()
IsSeeking()
MuteAudio(bool)
OpenMedia(string, long, string, MediaHints, int, bool)

Be careful using this method directly. It is best to instead use the OpenMedia() method in the MediaPlayer component as this will set up the events correctly and also perform other checks customHttpHeaders is in the format "key1:value1\r\nkey2:value2\r\n"=

OpenMediaFromBuffer(byte[])
Pause()
Play()
PlayerSupportsLinearColorSpace()

Whether this MediaPlayer instance supports linear color space If it doesn't then a correction may have to be made in the shader

Render()
RequiresVerticalFlip()

Returns true if the image on the texture is upside-down

ResetAudioFocus()
ResetAudioHeadRotation()
Seek(double)

The time in seconds seeked will be to the exact time This can take a long time is the keyframes are far apart Some platforms don't support this and instead seek to the closest keyframe

SeekFast(double)

The time in seconds seeked will be to the closest keyframe

SetAudioChannelMode(Audio360ChannelMode)
SetAudioFocusEnabled(bool)
SetAudioFocusProperties(float, float)
SetAudioFocusRotation(Quaternion)
SetAudioHeadRotation(Quaternion)
SetBalance(float)
SetBufferedDisplayMode(BufferedFrameSelectionMode, IBufferedDisplay)
SetBufferedDisplayOptions(bool)
SetLooping(bool)
SetOptions(VideoApi, AudioOutput, bool, bool, bool, bool, bool, string, List<string>, bool, int, int, bool, bool, bool, bool, BufferedFrameSelectionMode, bool, bool)
SetPlaybackRate(float)
SetSlaves(IBufferedDisplay[])
SetVolume(float)
StartOpenMediaFromBuffer(ulong)
Stop()
Update()
WaitForNextFrame(Camera, int)