我正在尝试捕捉在表面视图上播放的视频的最后一帧。视频正在从http播放,我无法使用mediaMetaDataRetriever,因为mediaplayer已经使用http连接,mediaMetaDataRetriever返回null。
是否有任何解决方案可以在surfaceView上“捕获”当前帧?
答案 0 :(得分:0)
您无法从库存设备上的应用程序捕获SurfaceView的内容。
SurfaceView的表面实际上是具有生产者 - 消费者关系的缓冲区队列。您的应用程序是生产者,系统合成器称为“surfaceflinger”,是消费者。发送到地面的图像只能由消费者阅读。
如果您改为将视频播放到TextureView,则应该可以使用getBitmap()来获取一个帧。