通过Android应用在Chromebook上录制屏幕的一部分时出现乱码

问题描述

我开发了一个打算在Chromebook上运行的录音Android应用。由于android上没有支持此目的的本机API,因此我改用grafika。一切正常,除非在某些较弱的Chromebook上,录制的视频显示如下图所示的乱码。

它与WindowSurface,SurfaceTexture类有关,但我不确定。有人可以帮忙吗?

enter image description here

private void handleFrameAvailable(long timestampNanos) {
        if (shouldStart && mVideoEncoder != null) {
            mVideoEncoder.drainEncoder(false);

            GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

            if (mTransform == null) {
                mTransform = new float[16];
            }

            mSurfaceTexture.getTransformMatrix(mTransform);

            mFullScreen.drawFrame(mTextureId,mTransform);
            if (mEnableWatermark) {
                watermarkFrameRect.drawFrame(mTextureId,mTransform);
            }

            mInputWindowSurface.setPresentationTime(timestampNanos);
            mInputWindowSurface.swapBuffers();
        }

        mInputWindowSurface.makeCurrent();
        mSurfaceTexture.updateTexImage();
    }

如果下面的两行代码在Handler中运行,则可以避免很多问题,但是最终视频的FPS缓慢

mInputWindowSurface.makeCurrent();
mSurfaceTexture.updateTexImage();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...