问题描述
我开发了一个打算在Chromebook上运行的录音Android应用。由于android上没有支持此目的的本机API,因此我改用grafika。一切正常,除非在某些较弱的Chromebook上,录制的视频显示如下图所示的乱码。
它与WindowSurface,SurfaceTexture类有关,但我不确定。有人可以帮忙吗?
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 (将#修改为@)