Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 Windows Phone 8(HTC 8X)手电筒无法打开(不使用摄像头)_C# 4.0_Reflection_Windows Phone 8_Flashlight - Fatal编程技术网

C# 4.0 Windows Phone 8(HTC 8X)手电筒无法打开(不使用摄像头)

C# 4.0 Windows Phone 8(HTC 8X)手电筒无法打开(不使用摄像头),c#-4.0,reflection,windows-phone-8,flashlight,C# 4.0,Reflection,Windows Phone 8,Flashlight,作为一个新手程序员,我要问一个愚蠢的问题。我想在不眨眼的情况下打开WindowsPhone8的手电筒(像其他手电筒应用一样持续)。现在我尝试使用 但它没有起作用。我创建了一个名为“flash”的按钮并粘贴代码。它运行良好,但我的设备HTC 8X甚至一秒钟都不打开手电筒。我该怎么办 我使用的库和代码: using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.

作为一个新手程序员,我要问一个愚蠢的问题。我想在不眨眼的情况下打开WindowsPhone8的手电筒(像其他手电筒应用一样持续)。现在我尝试使用

但它没有起作用。我创建了一个名为“flash”的按钮并粘贴代码。它运行良好,但我的设备HTC 8X甚至一秒钟都不打开手电筒。我该怎么办

我使用的库和代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using Flashlight_V_0._1.Resources;
using Microsoft.Phone.Media;
using Windows.Phone.Media.Capture; 
using Microsoft.Xna.Framework.Media;
using System.IO;                     

namespace Flashlight_V_0._1
{

    public partial class MainPage : PhoneApplicationPage
    {

        // Constructor
        public MainPage()
        {
            InitializeComponent();

            // Sample code to localize the ApplicationBar
            //BuildLocalizedApplicationBar();
        }

        private async void Button_Click_1(object sender, RoutedEventArgs e)
        {
            var sensorLocation = CameraSensorLocation.Back;

            try
            {
                // get the AudioViceoCaptureDevice
                var avDevice = await AudioVideoCaptureDevice.OpenAsync(sensorLocation,
                    AudioVideoCaptureDevice.GetAvailableCaptureResolutions(sensorLocation).First());

                // turn flashlight on
                var supportedCameraModes = AudioVideoCaptureDevice
                    .GetSupportedPropertyValues(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchMode);
                if (supportedCameraModes.ToList().Contains((UInt32)VideoTorchMode.On))
                {
                    avDevice.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.On);

                    // set flash power to maxinum
                    avDevice.SetProperty(KnownCameraAudioVideoProperties.VideoTorchPower,
                        AudioVideoCaptureDevice.GetSupportedPropertyRange(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchPower).Max);
                }
                else
                {
                    //ShowWhiteScreenInsteadOfCameraTorch();
                }

            }
            catch (Exception ex)
            {
                // Flashlight isn't supported on this device, instead show a White Screen as the flash light
                //ShowWhiteScreenInsteadOfCameraTorch();
            }

        }

    }
}
我也试过:

        try
        {

            var _device = await AudioVideoCaptureDevice.OpenAsync(CameraSensorLocation.Back, AudioVideoCaptureDevice.GetAvailableCaptureResolutions(CameraSensorLocation.Back).First());

            _device.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.On);
        }
        catch (Exception ex)
        {
            //
        }

我做错了什么?

很抱歉回复晚了,我在之前收到了,但无法发布。很抱歉。 WP7/WP7.5默认访问所有传感器。但是在WP8中,您必须手动启用传感器功能

  • 转到解决方案资源管理器
  • 选择项目
  • 选择属性->WMAppManifest.xml
  • 双击“WMAppManifest.xml”
  • 选择“能力”
  • 为应用程序启用适当的功能
  • 为了解决我的问题,我必须启用两个功能

  • ID\U CAP\U ISV\U摄像机
  • 识别盖麦克风

  • 谢谢你

    很抱歉回复太晚,我早就收到了,但无法发布。很抱歉。 WP7/WP7.5默认访问所有传感器。但是在WP8中,您必须手动启用传感器功能

  • 转到解决方案资源管理器
  • 选择项目
  • 选择属性->WMAppManifest.xml
  • 双击“WMAppManifest.xml”
  • 选择“能力”
  • 为应用程序启用适当的功能
  • 为了解决我的问题,我必须启用两个功能

  • ID\U CAP\U ISV\U摄像机
  • 识别盖麦克风

  • 谢谢你

    你希望发生什么?您的catch块中是否有任何异常可能导致您的问题?谢谢您的回复。我原以为手电筒会打开,可能不是连续的,但可能是眨眼。我只有在尝试打开手电筒时才遇到未处理的异常。对不起,我是新来的,很抱歉英语不好。你希望会发生什么?您的catch块中是否有任何异常可能导致您的问题?谢谢您的回复。我原以为手电筒会打开,可能不是连续的,但可能是眨眼。我只有在尝试打开手电筒时才遇到未处理的异常。对不起,我是新来的,很抱歉英语不好。