Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android EGL API19罚款,但>;API 21获得错误3008_Android_Opengl Es 2.0_Egl - Fatal编程技术网

Android EGL API19罚款,但>;API 21获得错误3008

Android EGL API19罚款,但>;API 21获得错误3008,android,opengl-es-2.0,egl,Android,Opengl Es 2.0,Egl,谢谢你的阅读 我将github项目GLRecorder用作库,并将其放在我的项目中进行录制 GLR记录器: 我可以在我的API19安卓手机上运行它,但我在API21到API25上运行它,它们都崩溃了 错误信息: E/libEGL:validate\u display:255错误3008(EGL\u BAD\u display)过程: com.example.chankim.vrcam,PID:5812 java.lang.RuntimeException:EGLCreateWindowsSurf

谢谢你的阅读

我将github项目GLRecorder用作库,并将其放在我的项目中进行录制

GLR记录器:

我可以在我的API19安卓手机上运行它,但我在API21到API25上运行它,它们都崩溃了

错误信息:

E/libEGL:validate\u display:255错误3008(EGL\u BAD\u display)过程: com.example.chankim.vrcam,PID:5812 java.lang.RuntimeException:EGLCreateWindowsSurface:EGL错误:0x3008 在 com.research.GLRecorder.gles.EglCore.checkEglError(EglCore.java:209) 在 com.research.GLRecorder.gles.EglCore.CreateWindowsSurface(EglCore.java:72) 在 com.research.GLRecorder.gles.EglSurfaceBase.createWindowsSurface(EglSurfaceBase.java:64) 在 com.research.GLRecorder.gles.WindowSurface.(WindowSurface.java:41) 在 GLRecorder.GLRecorder.startEncoder(GLRecorder.java:234) 在 com.research.GLRecorder.GLRecorder.setRecordingEnabled(GLRecorder.java:147) 在 GLRecorder.GLRecorder.startRecording(GLRecorder.java:128) 在 com.example.chankim.vrcam.MainActivity.changeIcon(MainActivity.java:319) 在 com.example.chankim.vrcam.MainActivity$8.onClick(MainActivity.java:178) 在android.view.view.performClick上(view.java:5204) 在android.view.view$PerformClick.run(view.java:21153) 位于android.os.Handler.handleCallback(Handler.java:739) 位于android.os.Handler.dispatchMessage(Handler.java:95) 位于android.os.Looper.loop(Looper.java:148) 位于android.app.ActivityThread.main(ActivityThread.java:5417) 位于java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

那么我该如何解决这个问题呢?

我发现了我的问题。 在layout.xml中,我定义了一个GLSurfaceView来放置我的图像

如果我在主要活动中使用此代码

    super.onCreate(savedInstanceState);
    mDrawView = new Draw(getApplication());
    setContentView(mDrawView);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    findViewById(R.id.button_start).setOnClickListener(this);
    findViewById(R.id.button_end).setOnClickListener(this);
    mDrawView = (Draw)findViewById(R.id.mDraw2);
应用程序将运行良好

                mDrawView.queueEvent(new Runnable() {
                @Override
                public void run() {
                    GLRecorder.stopRecording();
                }});
但如果我在主要活动中使用此代码

    super.onCreate(savedInstanceState);
    mDrawView = new Draw(getApplication());
    setContentView(mDrawView);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    findViewById(R.id.button_start).setOnClickListener(this);
    findViewById(R.id.button_end).setOnClickListener(this);
    mDrawView = (Draw)findViewById(R.id.mDraw2);
它会崩溃的。 那怎么解决呢?

我解决了这个问题

这是关于GL线程的问题

使用此代码,它将运行良好

                mDrawView.queueEvent(new Runnable() {
                @Override
                public void run() {
                    GLRecorder.stopRecording();
                }});