相关疑难解决方法(0)

GLES10.glGetIntegerv仅在Lollipop中返回0

这段代码曾用于我的Nexus 7 2012 KitKat:

int[] maxSize = new int[1];
GLES10.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxSize, 0);
Run Code Online (Sandbox Code Playgroud)

在KitKat中我可以正确获取最大像素值,但在升级到工厂映像Lollipop后,这段代码会导致问题,因为它只返回0.当达到此方法时,logcat显示此输出:

E/libEGL? call to OpenGL ES API with no current context (logged once per thread)
Run Code Online (Sandbox Code Playgroud)

我已经android:hardwareAccelerated="true"在我的Manifest.xml中了.是否有任何我不知道的API更改,导致上述代码无法使用?请指教.

android opengl-es android-5.0-lollipop

16
推荐指数
1
解决办法
8111
查看次数

Android MediaCodec 配置错误,崩溃

我正在尝试使用 mediaCodec 从 openGl ES 表面创建 mp4 视频。我有一个eglSurface,该eglSurface 的源表面是MediaCodec 输入表面。

我可以为eglSurface 设置不同的尺寸,当一种尺寸(宽度或高度)太大时:例如宽度= 5000 且高度= 512,MediaCodec 崩溃。

这是崩溃日志

android.media.MediaCodec$CodecException: Error 0xfffffc0e 
at android.media.MediaCodec.native_configure(Native Method) 
at android.media.MediaCodec.configure(MediaCodec.java:588)
Run Code Online (Sandbox Code Playgroud)

....

在某些设备(Galaxy s7 edge)上它不会崩溃,但生成 videoView 后不会播放视频。

对于小尺寸(例如屏幕尺寸),它可以在所有设备上正常工作

android surface opengl-es-2.0 egl android-mediacodec

5
推荐指数
1
解决办法
6578
查看次数