如何使用surfaceview以编程方式截取视频(视频来自Tokbox)

时间:2017-04-11 12:04:50

标签: android

我正在开发一个应用程序,我正在进行视频通话(视频来自Opentok)。但是当我尝试截取屏幕截图时,视频显示为黑色。

我使用了以下链接但是工作

Taking screenshot programmatically doesnt capture the contents of surfaceVIew

我附上了我的屏幕截图screenshot is shown in imageview which is in black colour

我使用以下代码截取屏幕截图但不能正常工作

public Bitmap getScreenShot() {
    View rootView = getWindow().getDecorView().findViewById(android.R.id.content);
    View screenView = rootView.getRootView();
    screenView.setDrawingCacheEnabled(true);
    Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
  //  bitmap=Bitmap.createScaledBitmap(bitmap,50,70,false);
    Log.e("new_bitmap","--->"+bitmap);
    screenView.setDrawingCacheEnabled(false);
    return bitmap;
}

PLZ帮我解决问题 感谢。

1 个答案:

答案 0 :(得分:0)

Grafika的“来自相机的纹理”活动演示了使用GLES操纵输入的视频数据。渲染后,您可以使用glReadPixels()获取像素。 glReadPixels()的性能可能因设备和不同的用例而有很大差异。 EglSurfaceBase#saveFrame()显示如何捕获到位图并保存为PNG。