我正在开发一个用于测量心率的android应用程序,该应用程序使用摄像头和手机的照明系统,用户必须将手指放在摄像机上才能检测脉搏。我正在NExus 4设备上测试我的应用程序。我用这个代码来访问摄像机
if(flashSupported==true){
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
}
camera.setParameters(parameters);
camera.startPreview();心率功能非常好,但是在我的Nexus 4上,LED变得非常热,用户在某个时候无法将手指放在LED上。我在Nexus上也试过这个,它也变得很热。我没有在其他设备上尝试过,我不知道这是硬件问题还是代表我的问题。
有什么办法可以通过编程避免这个问题吗?
发布于 2013-08-15 14:26:21
正如斯科特所说,控制LED在手机上的热输出的唯一方法就是关掉它。但是,你可以使用手机热感应器来获取手机的温度,以及手机过热的原因。希望能帮上忙。
发布于 2014-11-22 19:54:22
这是相机的输出分辨率。大多数以4k记录的手机只能在过热前记录5分钟。也许你可以强制改变相机的分辨率,或者让它在仍然记录生物特征的同时,使用正面的摄像机。
https://stackoverflow.com/questions/18254352
复制相似问题