Android在演示文稿和活动中显示摄像头双重预览

时间:2018-09-06 23:50:33

标签: android android-camera

问题是我在一个活动中创建了Camera,我可以在活动中轻松显示摄像机预览。但是我想在同一活动中创建一个Presentation,并且还想使演示文稿可以显示相机预览。我知道通过Camera.PreviewCallBack我可以得到一个bytes数组,使用这个数组我可以在画布上绘制另一个预览。但是我不知道如何将该字节数组实时传递给演示文稿,也许我不需要这样做。我不确定。

如果您有更好的建议,请告诉我。

1 个答案:

答案 0 :(得分:0)

没有人帮助我:(,但我自己做到了。

  1. 在Presentation和Activity中显示两个预览,我们可以通过Camera.Preview获取数据数组YUV_420_888,通过Android Livedata我们可以将实时数据传递给PresentationFragment,然后我们可以通过Bitmap转换数据然后显示在演示文稿上预览图像。

  2. 在PresentationFragment中使用TextureView,然后在getSurfaceTexture中创建getSurfaceTexture(),在Activity中调用getSurfaceTexture,然后使用此SurfaceTexture获取相机预览。但是有一点棘手,当我第一次调用getSurfaceTexture()时,我得到了“空对象引用”,当我在onResume()中调用getSurfaceTexture()时,发现PresentationFragment中的onCreateView()可能没有被调用,所以我们如果onCreateView()完成,则需要创建一个侦听器或其他函数来处理,然后调用getSurfaceTexture;

到目前为止一切都很好〜