Most visited

Recently visited

Added in API level 14

Effect

public abstract class Effect
extends Object

java.lang.Object
   ↳ android.media.effect.Effect


效果是可应用于图像帧的高性能转换。 这些以OpenGL ES 2.0纹理名称的形式传递。 典型的帧可以是从磁盘加载的图像,也可以是来自相机或其他视频流的帧。

要创建效果,您必须先创建一个EffectContext。 您可以通过调用getFactory()来获取上下文的EffectFactory的getFactory() EffectFactory允许您实例化特定的效果。

应用程序负责创建EGL上下文,并在应用效果之前使其处于最新状态。 一个效果绑定到单个EffectContext,而后者又绑定到单个EGL上下文。 如果您的EGL上下文被销毁,则EffectContext将变为无效,并且任何绑定到此上下文的效果都不能再使用。

Summary

Public constructors

Effect()

Public methods

abstract void apply(int inputTexId, int width, int height, int outputTexId)

对GL纹理应用效果。

abstract String getName()

获取效果名称。

abstract void release()

发布效果。

abstract void setParameter(String parameterKey, Object value)

设置一个过滤器参数。

void setUpdateListener(EffectUpdateListener listener)

设置一个效果监听器。

Inherited methods

From class java.lang.Object

Public constructors

Effect

Added in API level 14
Effect ()

Public methods

apply

Added in API level 14
void apply (int inputTexId, 
                int width, 
                int height, 
                int outputTexId)

对GL纹理应用效果。

将效果应用于指定的输入GL纹理,并将结果写入输出GL纹理。 传递的纹理名称在当前GL上下文中必须是有效的。

输入纹理必须是具有给定宽度和高度的有效纹理名称,并且必须绑定到GL_TEXTURE_2D纹理图像(通常通过调用glTexImage2D()函数完成)。 可以提供多个mipmap级别。

如果输出纹理未绑定到纹理图像,它将自动以效果绑定为GL_TEXTURE_2D。 它将包含一个mipmap级别(0),它将与输入具有相同的大小。 没有定义其他mipmap级别。 如果输出纹理已经绑定,并且其大小与输入纹理大小不匹配,则结果可能会被裁剪或仅部分填充纹理。

请注意,不管纹理图像是否最初提供,输入和输出纹理都由调用者拥有。 也就是说,调用者负责调用glDeleteTextures()来释放输入和输出纹理。

Parameters
inputTexId int: The GL texture name of a valid and bound input texture.
width int: The width of the input texture in pixels.
height int: The height of the input texture in pixels.
outputTexId int: The GL texture name of the output texture.

getName

Added in API level 14
String getName ()

获取效果名称。 返回该效果的唯一名称,该名称与EffectFactory用于实例化该效果的名称相匹配。

Returns
String The name of the effect.

release

Added in API level 14
void release ()

发布效果。

释放效果和与之相关的任何资源。 如果您需要确保获得的资源不再受到影响,您可以拨打此电话。 释放效果使其无法重复使用。

请注意,必须使用EffectContext和EGL上下文来调用此方法,因为该效果可能会释放内部GL资源。

setParameter

Added in API level 14
void setParameter (String parameterKey, 
                Object value)

设置一个过滤器参数。 请查阅效果文档以获取每种效果支持的参数键列表。

Parameters
parameterKey String: The name of the parameter to adjust.
value Object: The new value to set the parameter to.
Throws
if parameterName is not a recognized name, or the value is not a valid value for this parameter.

setUpdateListener

Added in API level 14
void setUpdateListener (EffectUpdateListener listener)

设置一个效果监听器。 如果设置了侦听器,某些效果可能会将状态更改报告回主机。 有关更多详细信息,请参阅个别效果文档

Parameters
listener EffectUpdateListener: The listener to receive update callbacks on.

Hooray!