我使用的是mediaProjection. viewVirtualDisplay(),我可以创建MediaCodec,然后通过编解码器创建Surface,但我想知道是否有办法创建Surface,只获取虚拟显示数据,而不对其进行编码?
jecbmhm31#
您可以从ImageReader创建Surface。一旦一个帧被渲染到表面上,你就可以使用acquireLatestImage()方法读取它。您还可以设置一个侦听器,以便在每次有新映像可用时通过setOnImageAvailableListener()调用。
acquireLatestImage()
setOnImageAvailableListener()
1条答案
按热度按时间jecbmhm31#
您可以从ImageReader创建Surface。
一旦一个帧被渲染到表面上,你就可以使用
acquireLatestImage()
方法读取它。您还可以设置一个侦听器,以便在每次有新映像可用时通过
setOnImageAvailableListener()
调用。