VideoPlayer Class¶
这个类型是C#语言的 EasyAR Sense API: VideoPlayer 。页面中部分描述可能与Unity环境无关。
部分Sense接口已经封装成Unity组件,直接使用可能是不必要的。
Description¶
VideoPlayer是视频播放类。
EasyAR支持普通的视频、透明视频和流媒体播放。视频内容会被渲染到传入setRenderTexture的texture上。
该类只支持OpenGLES2的texture。
由于依赖于OpenGLES,本类的所有函数(包括析构函数)都必须在单个包含OpenGLES上下文的线程中调用。
当前版本要求宽高均为16的倍数。
支持的视频文件格式
Windows: Media Foundation兼容格式,安装额外的解码器可以支持更多格式,请参考 Supported Media Formats in Media Foundation ,不支持DirectShow
Mac: 不支持
Android: 系统支持的格式,请参考 Supported media formats 。
iOS: 系统支持的格式,当前没有有效的参考文档
Methods¶
isAvailable¶
- C#
public static bool isAvailable()
检查是否可用。只在Windows、Android和iOS上返回true,Mac上不可用。
setVideoType¶
- C#
public virtual void setVideoType( VideoType videoType)
设置视频类型。如果没有手动设置,将默认为普通类型。这个方法需要在open之前调用。
setRenderTexture¶
- C#
public virtual void setRenderTexture( TextureId texture)
传入用来显示视频的texture到播放器。这个方法需要在open之前调用。
open¶
- C#
public virtual void open(string path, StorageType storageType, CallbackScheduler callbackScheduler, Optional<Action< VideoStatus >> callback)
从 path 打开视频。
path 可以是本地视频文件(path/to/video.mp4)或url(http://www.../.../video.mp4)。storageType 表示path的类型。详细描述参见 StorageType 。
这个方法是异步的方法。open可能会花一些时间才能完成。如果你希望知道视频打开的结果或播放中的状态,需要处理callback数据。callback会在callbackScheduler对应的线程中被调用。你可以在回调中检查打开是否成功结束并在成功打开之后开始播放。
close¶
- C#
public virtual void close()
关闭视频。
play¶
- C#
public virtual bool play()
开始或继续播放视频。
stop¶
- C#
public virtual void stop()
停止视频播放。
pause¶
- C#
public virtual void pause()
暂停视频播放。
isRenderTextureAvailable¶
- C#
public virtual bool isRenderTextureAvailable()
视频texture是否可以用于渲染。可以用于检查传入player的texture是否被碰过。
updateFrame¶
- C#
public virtual void updateFrame()
更新texture数据。这个方法需要在isRenderTextureAvailable返回true的时候在渲染线程上调用。
duration¶
- C#
public virtual int duration()
返回视频长度。在成功的open之后使用。
currentPosition¶
- C#
public virtual int currentPosition()
返回当前播放到的视频位置。在成功的open之后使用。
seek¶
- C#
public virtual bool seek(int position)
将播放位置调整到 position 。在成功的open之后使用。
size¶
- C#
public virtual Vec2I size()
返回视频长宽。在成功的open之后使用。
volume¶
- C#
public virtual float volume()
返回视频音量。在成功的open之后使用。
setVolume¶
- C#
public virtual bool setVolume(float volume)
设置视频音量。在成功的open之后使用。