【发布时间】:2019-04-05 00:44:13
【问题描述】:
在将应用程序置于睡眠状态或在应用程序之间切换后,我正在尝试使用 android 恢复我的相机预览。或者甚至启动一个使用相机功能的不同应用程序,但相机因 getParameters() 为空而崩溃。 恢复使用 Xamarin 表单应用程序时,是否有办法检索相机预览以外的控件。
我尝试使用 Camera.Restart() 并没有用。
public void SurfaceCreated(ISurfaceHolder holder)
{
try
{
if (Preview != null)
{
Preview.StopPreview();
Preview.Reconnect();
Preview.SetPreviewDisplay(holder);
Preview.EnableShutterSound(true);
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(@" ERROR: ", ex.Message);
}
}
public void SurfaceDestroyed(ISurfaceHolder holder)
{
Preview.StopPreview();
Preview.Release();
}
public void SurfaceChanged(ISurfaceHolder holder, Android.Graphics.Format format, int width, int height)
{
Camera.Parameters parameters = Preview.GetParameters();
parameters.FocusMode = Camera.Parameters.FocusModeContinuousPicture;
IList<Camera.Size> previewSizes = parameters.SupportedPreviewSizes;
// You need to choose the most appropriate previewSize for your app
Camera.Size previewSize = previewSizes[0];
parameters.SetPreviewSize(previewSize.Width, previewSize.Height);
Preview.SetParameters(parameters);
Preview.StartPreview();
}
【问题讨论】:
-
能否在github上提供整个demo,我会在我身边试试你的项目。
-
这只是原生部分pastebin.com/G4Tuy0Qp
标签: android xamarin.forms xamarin.android