我开发了一个自定义相机应用程序,除了Sony Xperia Neo L之外,它在所有其他设备上都能正常工作。
问题是我从相机回来的相机预览非常慢或滞后。我之前运行过相同的代码,没有任何错误,并且在较旧的Xperia手机上滞后,所以我很惊讶这个问题出现的原因。
我在这些执行中发现的唯一变化是logcat在启动相机后显示以下警告和一些奇怪的事情
05-24 11:20:57.766: I/CameraService(138): Opening camera 0
05-24 11:20:58.196: E/SEMC Camera HAL(138): Store old settings
05-24 11:20:58.196: E/mm-camera(138): config_proc_CAMERA_SET_PARM_FPS: 30
05-24 11:20:58.196: E/SEMC Camera HAL(138): Store old settings
05-24 11:20:58.196: E/mm-camera(138): config_proc_CAMERA_SET_PARM_FPS: 30
05-24 11:20:58.296: E/mm-camera(138): config_proc_CAMERA_SET_PARM_FPS: 0
05-24 11:20:58.396: E/mm-camera(138): config_proc_CAMERA_SET_PARM_FPS: 30
05-24 11:20:58.486: E/mm-camera(138): config_proc_CAMERA_SET_PARM_FPS: 0
05-24 11:20:58.626: I/AwesomePlayer(138): setDataSource_l('/system/media/audio/ui/camera_click.ogg')
05-24 11:20:58.626: E/CMarlinMediator(123): Error : MarlinMediator Failed to get TrustedTime
05-24 11:20:58.636: I/AwesomePlayer(138): setDataSource_l('/system/media/audio/ui/VideoRecord.ogg')
05-24 11:20:58.646: E/CMarlinMediator(123): Error : MarlinMediator Failed to get TrustedTime
05-24 11:20:58.666: D/CameraService(138): getParameter
05-24 11:20:58.666: W/ServiceManager(138): Permission failure: com.sonyericsson.permission.CAMERA_EXTENDED from uid=10141 pid=11654
我尝试使用此权限失败问题谷歌,但没有得到任何解决方案。
我已经在清单文件中提到了所需的权限,只有Neo L的问题。这款手机中预先安装的相机应用程序效果很好,所以我猜硬件没有问题。请有人帮我这个。
编辑: 打开相机后,我有以下代码
mCamera.setPreviewCallbackWithBuffer(new PreviewCallback() {
public synchronized void onPreviewFrame(byte[] data, Camera c) {
if (mCamera != null)
{
mCamera.addCallbackBuffer(mBuffer);
}
}
});