gpt4 book ai didi

c# - 手机手电筒用xamarin打开但是没有打开,为什么?

转载 作者:行者123 更新时间:2023-11-30 12:47:17 24 4
gpt4 key购买 nike

我的应用程序被允许使用闪光灯和相机,但没有打开。该设备是 Nexus Samsung。我尝试设置 FlashModeOn 但它不起作用。请帮助我。

[Activity(Label = "TurnOnLight", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
public void initCamera()
{


var b = FindViewById<Button>(Resource.Id.MyButton);
try
{
if (!hasCamera)
{

mcamera = Camera.Open();
hasCamera = true;

p=mcamera.GetParameters();
var s = p.Get(Camera.Parameters.FlashModeOn);

p.Set(Camera.Parameters.FlashModeTorch,0);
mcamera.SetParameters(p);


mcamera.StartPreview();
}
else
{
}
}
catch (Exception exception)
{

hasCamera = false;
}

}

最佳答案

这是我在我的 ZXing.Net.Mobile 项目中使用的代码,它对我来说运行良好。请记住,FlashModeOn 与 FlashModeTorch 略有不同:

https://github.com/Redth/ZXing.Net.Mobile/blob/master/src/ZXing.Net.Mobile/MonoForAndroid/ZXingSurfaceView.cs#L227-L267

public void Torch(bool on)
{
if (!this.Context.PackageManager.HasSystemFeature(PackageManager.FeatureCameraFlash))
{
Android.Util.Log.Info("ZXING", "Flash not supported on this device");
return;
}

if (camera == null)
{
Android.Util.Log.Info("ZXING", "NULL Camera");
return;
}

var p = camera.GetParameters();
var supportedFlashModes = p.SupportedFlashModes;

if (supportedFlashModes == null)
supportedFlashModes = new List<string>();

var flashMode= string.Empty;

if (on)
{
if (supportedFlashModes.Contains(Android.Hardware.Camera.Parameters.FlashModeTorch))
flashMode = Android.Hardware.Camera.Parameters.FlashModeTorch;
else if (supportedFlashModes.Contains(Android.Hardware.Camera.Parameters.FlashModeOn))
flashMode = Android.Hardware.Camera.Parameters.FlashModeOn;
}
else
{
if ( supportedFlashModes.Contains(Android.Hardware.Camera.Parameters.FlashModeOff))
flashMode = Android.Hardware.Camera.Parameters.FlashModeOff;
}

if (!string.IsNullOrEmpty(flashMode))
{
p.FlashMode = flashMode;
camera.SetParameters(p);
}
}

关于c# - 手机手电筒用xamarin打开但是没有打开,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17364687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com