【问题标题】:How to get image from video played on a surface view?如何从表面视图上播放的视频中获取图像?
【发布时间】:2015-03-02 18:44:16
【问题描述】:

我正在尝试捕捉在表面视图上播放的视频的最后一帧。视频是从 http 播放的,我不能使用 mediaMetaDataRetriever,因为 mediaplayer 已经使用了 http 连接,而 mediaMetaDataRetriever 返回 null。

在surfaceView上“捕获”当前帧有什么解决方案吗?

【问题讨论】:

    标签: android video android-mediaplayer surfaceview


    【解决方案1】:

    您无法从现有设备上的应用中捕获 SurfaceView 的内容。

    SurfaceView 的表面实际上是一个具有生产者-消费者关系的缓冲区队列。您的应用程序是生产者,系统合成器(称为“surfaceflinger”)是消费者。发送到表面的图像只能由消费者读取。

    如果您改为将视频播放到TextureView,您应该可以使用getBitmap() 来获取帧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多