播放视频时从SurfaceView获取帧/截图

时间:2015-04-30 17:21:20

标签: android surfaceview android-bitmap

一些视频播放器喜欢" ExoPlayer"正在使用def print_elements(listvar): """prints a list out one element at a time""" count = 0 count2 =0 while listvar[count] != None: print("Element " + count + "is ", listvar[::count2]) count = count +1 count2 = count +1 print_elements(["Apple", "Cherry", "Banana"]) print_elements(["Walnut", "Pecan", "Peanut", "Cashew"]) print_elements(["Rajinder", "Eva", "Patel", "Thao", "Greta"]) 作为SurfaceView的监听器。在做截图时,我只是得到一个黑色图像。

以下是我创建屏幕截图的方法:

VideoEngine

我已经对SO进行了密集搜索,但没有相关的答案,只有解决方法。有解决方案吗?

1 个答案:

答案 0 :(得分:-1)

您可以尝试使用View.draw(Canvas画布)。我不确定是否存在与SurfaceView相关的限制,但我知道类似的方法可用于拍摄WebViews的快照。

public Bitmap getBitmapFromView(View view) {
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    view.draw(canvas);
    return bitmap;
}