如何在Xamarin的媒体插件中将闪存设置为默认值?

时间:2018-03-01 14:18:46

标签: visual-studio xamarin xamarin.forms

对于媒体插件,有默认摄像头

DefaultCamera = Plugin.Media.Abstractions.CameraDevice.Front

如果我想让闪光灯一直亮着,那么任何默认功能都可以设置为默认相机吗?

我使用Lamp.Plugin与媒体插件结合,所以代码如下:

 CrossMedia.Current.Initialize();
        if (!CrossMedia.Current.IsTakePhotoSupported && !CrossMedia.Current.IsTakeVideoSupported)
        {
            DisplayAlert("Message", "Photo Capture and Pick Not supported", "ok");
            return;
        }
        else
        {

            CrossLamp.Current.TurnOn();

            var file = CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
            {
                //DefaultCamera = Plugin.Media.Abstractions.CameraDevice.Front,
                CompressionQuality = 92,
                SaveToAlbum = true,
                Directory = "Image",
                Name = DateTime.Now + "_test.jpg"
            });

但上面的代码只能激活灯而不能激活相机

1 个答案:

答案 0 :(得分:1)

截至目前,Media Plugin中 不可用。但是,有一个开放的功能请求可以找到here

如果您不想等,可以使用Lamp Plugin

请注意,您需要将以下权限添加到AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.flash" />

之后,您可以使用此CrossLamp.Current.TurnOn();CrossLamp.Current.TurnOff();

这样的插件