只需要app中下发MONO模式就可以切换预览、视频/拍照为黑白模式
mCameraSettings.setColorEffect(CameraCapabilities.ColorEffect.MONO);
例如需要把videoModule的预览和视频流都设置为黑白模式,可直接这样修改:
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 1437468ed..5d8c4d8cb 100755
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -1342,10 +1342,7 @@ public class VideoModule extends CameraModule implements
mCameraDevice.setDisplayOrientation(mDisplayRotation);
setCameraParameters();
+ //2022.4.7 zgx test: [set mono] start
+ mCameraSettings.setColorEffect(CameraCapabilities.ColorEffect.MONO);
+ Log.d(TAG, "zgx debug_2022.4.7 set mono.video");
+ //2022.4.7 zgx test: [set mono] end
cancelFocus();
对于photoModule,对焦会触发updateParametersColorEffect()方法,会重新设置ColorEffect,可以在这个方法中写死只设置下发ColorEffect.MONO
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 64fa8ff8b..6987f8279 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -2311,10 +2311,7 @@ public class PhotoModule extends CameraModule implements PhotoController,
private void updateParametersColorEffect () {
+ mCameraSettings.setColorEffect(CameraCapabilities.ColorEffect.MONO);
...
- mCameraSettings.setColorEffect(mColorEffect);
+ mCameraSettings.setColorEffect(CameraCapabilities.ColorEffect.MONO);