locked
Como faço para utilizar o flash como uma lanterna? C# RRS feed

  • Pergunta

  • Olá, sou iniciante na programação para Windows Phone e resolvi fazer um Lanterna, só que eu não estou conseguindo fazer o flash ligar, já vi vários fóruns na internet e ainda não consegui. Alguém pode me dar alguma dica? No momento o meu código apenas tem os botões para ligar a lanterna e uma barra de deslizar para mudar a intensidade da luz. Obrigado.
    • Editado Guto Acorsi quinta-feira, 26 de março de 2015 17:29
    quinta-feira, 26 de março de 2015 17:27

Respostas

Todas as Respostas

  • Olá Guto,

    A ideia é usar o flash da câmera como lanterna estendendo a duração do flash até o usuário decidir desligar. Veja por favor o link https://msdn.microsoft.com/library/windows/apps/hh202949%28v=vs.105%29.aspx?f=255&MSPPError=-2147217396

    Obrigado

    • Sugerido como Resposta Eduardo.Romero sexta-feira, 27 de março de 2015 12:51
    • Marcado como Resposta Eduardo.Romero sexta-feira, 27 de março de 2015 20:03
    • Não Marcado como Resposta Guto Acorsi sexta-feira, 10 de abril de 2015 13:17
    • Marcado como Resposta Marcos SJ quarta-feira, 10 de fevereiro de 2016 19:17
    quinta-feira, 26 de março de 2015 18:57
  • Valeu pela dica Eduardo, eu fiz a Câmera básica e nela consegui implementar o flash, mas para a lanterna eu não estou conseguindo, da erro que o flash ainda não foi inicializado. Segue o meu código.

    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 Lanterna.Resources;
    using Windows.Media.MediaProperties;
    using Windows.Media.Transcoding;
    using Microsoft.Devices;
    using System.IO;
    using System.IO.IsolatedStorage;
    using Microsoft.Xna.Framework.Media;
    
    
    namespace Lanterna
    {
    
        public partial class MainPage : PhoneApplicationPage
        {
            
            PhotoCamera cam;
            MediaLibrary library = new MediaLibrary();
    
            public MainPage()
            {
                InitializeComponent();
            }
    
            protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
            {
                if ((PhotoCamera.IsCameraTypeSupported(CameraType.Primary) == true))
                {
                  cam = new Microsoft.Devices.PhotoCamera(CameraType.Primary);
                }
                else
                {
                    this.Dispatcher.BeginInvoke(delegate()
                    {
                        MessageBox.Show("Câmera não suporta pelo dispositivo");
                    });
    
                    // Disable UI.
                    FlashButton.IsEnabled = false;
                }
            }
    
            private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
            {
                ((Slider)sender).Value = Math.Round(((Slider)sender).Value);
    
                double intencidade = (double)slider1.Value;
                intencidade = intencidade * 10;
                progressbar.Value = intencidade;
                tbk1.Text = Convert.ToString(intencidade + "%");
    
            }
            
            private void changeFlash_Clicked(object sender, RoutedEventArgs e)
            {
                switch (cam.FlashMode)
                {
                    case FlashMode.Off:
                        if (cam.IsFlashModeSupported(FlashMode.On))
                        {                       
                            cam.FlashMode = FlashMode.On;      
                        }
                        break;
                    case FlashMode.On:
                        {
                            cam.FlashMode = FlashMode.Off; 
                        }
                        break;
                }
            }
          
        }
    }
    


    • Editado Guto Acorsi quinta-feira, 16 de abril de 2015 17:39
    sexta-feira, 10 de abril de 2015 13:02