问题描述
在我的应用程序中,我使用 camera2 API 来获取多个表面的图像,并且运行良好。 出于调试目的,我想将输入源从相机更改为文件视频,为此我使用了 MediaPlayer。 是否可以像相机一样从 mediaPlayer 获取帧?在我的测试中,我只从 setonImageAvailableListener 获取了一个 Image,之后就不再调用它了。
这是我定义曲面的方式
mHDImageReader = RefCountedAutoCloseable(ImageReader.newInstance(hdImageDimension.width,hdImageDimension.height,getimageFormat(),10))
mImageReader = RefCountedAutoCloseable(ImageReader.newInstance(imageDimension.width,imageDimension.height,4))
//Surface for acquire the image in low resolution
val imageSurface = mImageReader.get()?.surface
//Surface for acquire the image in high resolution
val hdImageSurface = mHDImageReader.get()?.surface
//Surface for show preview on display
val texture = viewFinder.surfaceTexture
我为每个表面使用不同的 mediaPlayer 实例,每个表面都有不同的分辨率。
surfaces.forEach {
mediaPlayers.add(MediaPlayer().apply {
setSurface(it)
setDataSource(selectedVideo)
prepare()
start()
})
}
在预览界面中,我可以毫无问题地观看视频。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)