无论何时物理按下音量按钮或通过蓝牙自拍杆控制器按下音量按钮,我都会提示我的OpenCv JavaCameraView对象拍照。因为传入的键事件是相同的,所以在每种情况下,我都会在一个区域中处理它。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
if (!isReviewShown()) {
mCaptureButton.setEnabled(false);
mSwapCameraButton.setEnabled(false);
mCameraView.takePicture();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
但是,每当从自拍杆发出信号时,我都会遇到许多无法跟踪的奇怪和意外错误。该应用程序崩溃是因为基础相机对象突然变为空,查看屏幕有时无缘无故显示,捕获失败等。我不知道为什么会这样,因为每次按下音量键都能正常工作传入的按键事件似乎是相同的。
我的设备是Galaxy S7。