4

我想知道是否可以在 android 中有 2 个相机预览实例。我的意思是同时运行 2 个摄像机实例。如果是,将如何解决这个问题,是否需要在不同的线程上实现一个实例?我以前没有使用过相机 API,所以如果我能对这个问题有所了解,我将不胜感激,所以我不会在这上面浪费时间。谢谢你。

4

2 回答 2

2

不可能有两个打开的相机连接 - 您必须锁定相机才能获得预览,并且只能锁定一次。事实上,如果您锁定了相机,并且您的应用在您解锁之前崩溃了,那么没有人可以使用相机!

请参阅http://developer.android.com/reference/android/hardware/Camera.html#open%28int%29

使用完相机后必须调用 release() ,否则它将保持锁定状态,其他应用程序无法使用。

...

RuntimeException:如果与相机服务的连接失败(例如,如果相机正被另一个进程使用)。

也就是说,您当然可以注册一个预览回调并从您的单个相机实例中获取预览数据以在多个视图中使用。但请注意预览回调提供的原始字节 [] 数据的 YUV 格式问题:Getting frames from Video Image in Android(请注意,预览数据是来自相机驱动程序的原始数据,可能因设备而异)

于 2011-01-04T05:54:29.603 回答
0

忽略“为什么”这个大问题,您最好的选择是提供与相机交互的服务,然后从那里开始。

于 2011-01-03T22:21:07.897 回答