美摄SDK For Android  3.14.0
Public 成员函数 | 所有成员列表
com.meicam.sdk.NvsCustomVideoTransition.Renderer接口 参考

自定义视频特效渲染器接口,用户实现的自定义视频特效必须实现这个接口 更多...

类 com.meicam.sdk.NvsCustomVideoTransition.Renderer 继承关系图:
com.meicam.sdk.NvsCustomVideoTransition.RendererWithClearCache

Public 成员函数

void onInit ()
 美摄SDK对自定义视频特效调用此方法以便让用户初始化一些资源 更多...
 
void onCleanup ()
 美摄SDK对自定义视频特效调用此方法以便让用户清理资源 更多...
 
void onPreloadResources ()
 美摄SDK对自定义视频特效调用此方法以便让进行一些资源预处理 更多...
 
void onRender (RenderContext renderContext)
 美摄SDK对自定义视频特效调用此方法以便对输入视频帧进行特效处理 更多...
 

详细描述

自定义视频特效渲染器接口,用户实现的自定义视频特效必须实现这个接口

成员函数说明

◆ onCleanup()

void com.meicam.sdk.NvsCustomVideoTransition.Renderer.onCleanup ( )

美摄SDK对自定义视频特效调用此方法以便让用户清理资源

这个方法在自定义视频特效的生命周期里最多只会被调用一次,而且一定会在onInit之后调用,如果onInit没有被调用则也不会调用该方法。 这个方法是在美摄SDK引擎的特效渲染线程里调用,并且当前线程已经绑定了一个EGL Context。

◆ onInit()

void com.meicam.sdk.NvsCustomVideoTransition.Renderer.onInit ( )

美摄SDK对自定义视频特效调用此方法以便让用户初始化一些资源

这个方法在自定义视频特效的生命周期里最多只会被调用一次。如果该特效从未被真正使用过,则这个方法将不会被调用。 这个方法是在美摄SDK引擎的特效渲染线程里调用,并且当前线程已经绑定了一个EGL Context。

◆ onPreloadResources()

void com.meicam.sdk.NvsCustomVideoTransition.Renderer.onPreloadResources ( )

美摄SDK对自定义视频特效调用此方法以便让进行一些资源预处理

这个方法在自定义视频特效的生命周期里会被多次调用,而且一定会在onInit之后调用,一般来讲是在每次播放时间线之前调用。 一般来讲用户需要在此函数里面进行诸如构建shader program的工作。 这个方法是在美摄SDK引擎的特效渲染线程里调用,并且当前线程已经绑定了一个EGL Context。

◆ onRender()

void com.meicam.sdk.NvsCustomVideoTransition.Renderer.onRender ( RenderContext  renderContext)

美摄SDK对自定义视频特效调用此方法以便对输入视频帧进行特效处理

用户实现这个方法对输入视频帧进行处理并将结果写入到输出视频帧中去以便完成特效渲染。 这个方法是在美摄SDK引擎的特效渲染线程里调用,并且当前线程已经绑定了一个EGL Context。 当前线程已经绑定了一个FBO,用户只需在相应的attachment point上面绑定color buffer, depth buffer...即可 注意:请务必在渲染完成后,将OpenGL ES context的状态复位到默认状态,比如用户渲染过程中调用了glEnable(GL_BLEND), 则渲染完成后一定要调用glDisable(GL_BLEND),因为默认状态下blend是关闭的。关于OpenGL ES context的默认状态 请参考https://www.khronos.org/opengles/ 警告:如果渲染完成后,没有将OpenGL ES context的状态复位到默认状态,则可能导致后续特效渲染发生错误!

参数
renderContext特效渲染上下文对象

该接口的文档由以下文件生成: