From 12e4f7a17aa0fb2aaa496baebbdbaddebfbc79bb Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 27 Jun 2025 16:18:09 +0300 Subject: [PATCH 1/3] Fix Low Camera Resolution fix (#40) --- Camera.MAUI/Platforms/Android/MauiCameraView.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Camera.MAUI/Platforms/Android/MauiCameraView.cs b/Camera.MAUI/Platforms/Android/MauiCameraView.cs index 402c2b3..9ebf62a 100644 --- a/Camera.MAUI/Platforms/Android/MauiCameraView.cs +++ b/Camera.MAUI/Platforms/Android/MauiCameraView.cs @@ -210,6 +210,8 @@ internal async Task StartRecordingAsync(string file, Microsoft.Mau var maxVideoSize = ChooseMaxVideoSize(map.GetOutputSizes(Class.FromType(typeof(ImageReader)))); if (Resolution.Width != 0 && Resolution.Height != 0) maxVideoSize = new((int)Resolution.Width, (int)Resolution.Height); + + videoSize = maxVideoSize; mediaRecorder.SetVideoSize(maxVideoSize.Width, maxVideoSize.Height); IWindowManager windowManager = context.GetSystemService(Context.WindowService).JavaCast(); @@ -337,6 +339,8 @@ internal async Task StartCameraAsync(Microsoft.Maui.Graphics.Size var maxVideoSize = ChooseMaxVideoSize(map.GetOutputSizes(Class.FromType(typeof(ImageReader)))); if (PhotosResolution.Width != 0 && PhotosResolution.Height != 0) maxVideoSize = new((int)PhotosResolution.Width, (int)PhotosResolution.Height); + + videoSize = maxVideoSize; imgReader = ImageReader.NewInstance(maxVideoSize.Width, maxVideoSize.Height, ImageFormatType.Jpeg, 1); backgroundThread = new HandlerThread("CameraBackground"); backgroundThread.Start(); From 05a7a3e1d16e58a53f69406e29c06c8b3d8f209c Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 27 Jun 2025 20:19:11 +0300 Subject: [PATCH 2/3] Repro https://github.com/janusw/CameraMaui/issues/40 --- Camera.MAUI.Test/FullScreenPage.xaml.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Camera.MAUI.Test/FullScreenPage.xaml.cs b/Camera.MAUI.Test/FullScreenPage.xaml.cs index 8a0d312..5ca8e53 100644 --- a/Camera.MAUI.Test/FullScreenPage.xaml.cs +++ b/Camera.MAUI.Test/FullScreenPage.xaml.cs @@ -13,7 +13,7 @@ private void CameraView_CamerasLoaded(object sender, EventArgs e) if (cameraView.Cameras.Count > 0) { cameraView.Camera = cameraView.Cameras.First(); - /* + MainThread.BeginInvokeOnMainThread(async () => { if (await cameraView.StartCameraAsync() == CameraResult.Success) @@ -22,7 +22,7 @@ private void CameraView_CamerasLoaded(object sender, EventArgs e) playing = true; } }); - */ + } } private async void Button_Clicked(object sender, EventArgs e) From ec5a5a11d2be4adc8fcac089db3ffbb6153f80db Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 27 Jun 2025 22:01:19 +0300 Subject: [PATCH 3/3] Revert "Repro https://github.com/janusw/CameraMaui/issues/40" This reverts commit 05a7a3e1d16e58a53f69406e29c06c8b3d8f209c. --- Camera.MAUI.Test/FullScreenPage.xaml.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Camera.MAUI.Test/FullScreenPage.xaml.cs b/Camera.MAUI.Test/FullScreenPage.xaml.cs index 5ca8e53..8a0d312 100644 --- a/Camera.MAUI.Test/FullScreenPage.xaml.cs +++ b/Camera.MAUI.Test/FullScreenPage.xaml.cs @@ -13,7 +13,7 @@ private void CameraView_CamerasLoaded(object sender, EventArgs e) if (cameraView.Cameras.Count > 0) { cameraView.Camera = cameraView.Cameras.First(); - + /* MainThread.BeginInvokeOnMainThread(async () => { if (await cameraView.StartCameraAsync() == CameraResult.Success) @@ -22,7 +22,7 @@ private void CameraView_CamerasLoaded(object sender, EventArgs e) playing = true; } }); - + */ } } private async void Button_Clicked(object sender, EventArgs e)