【发布时间】:2012-07-12 06:13:17
【问题描述】:
我正在尝试切换前后摄像头。 switchCamera 方法在无限循环中运行,并且没有对帧进行任何处理。
我想查看最短切换时间。但是我得到的结果表明,前置和后置摄像头之间的切换时间是不同的。
从前到后:333 毫秒到 500 毫秒。
从后到前:1100 毫秒到 1400 毫秒。
因此,切换时间取决于您从哪个相机切换。有人对此有解释吗?
谢谢!
【问题讨论】:
我正在尝试切换前后摄像头。 switchCamera 方法在无限循环中运行,并且没有对帧进行任何处理。
我想查看最短切换时间。但是我得到的结果表明,前置和后置摄像头之间的切换时间是不同的。
从前到后:333 毫秒到 500 毫秒。
从后到前:1100 毫秒到 1400 毫秒。
因此,切换时间取决于您从哪个相机切换。有人对此有解释吗?
谢谢!
【问题讨论】:
我认为这是因为内置相机的“启动”时间不同,因此需要调整快门(启动相机时的咔嗒声)。
当您切换到相机时,此启动时间就是您的切换时间。不管旧相机(这个你关掉)。
在您的示例中,前置摄像头的启动时间比后置摄像头慢。
【讨论】:
Camera 类对设备上的摄像头一无所知:Camera 类知道如何对设备驱动程序进行阻塞调用以获取功能、设置选项和执行各种功能。即使设备驱动程序相同并且前后摄像头之间唯一可见的区别是它们的 IO 地址,不同的硬件位也会花费不同的时间来响应相同的命令。当两台相机具有不同的设备驱动程序时仍然如此,但现在设备驱动程序也可能非常不同:一个人可能(选择或必须)在每次打开时进行非常彻底的重置;另一个可能会减少握手,要么是因为设备本身更简单,要么是因为它可以在收到错误响应时进行“修复”。
【讨论】: