none
Webcam en Silverlight 4 RRS feed

  • Pregunta

  • Hola tengo el siguiente problema, segun yo tengo el codigo bien solo que se cierra mi app, jejeje.

    tengo la siguiente interfaz

    <Grid x:Name="LayoutRoot" >
     <Button Content="Iniciar Captura" Height="23" HorizontalAlignment="Left" Margin="108,243,0,0" Name="button1" VerticalAlignment="Top" Width="119" Click="button1_Click" />
     <Rectangle Height="186" HorizontalAlignment="Left" Margin="91,32,0,0" Name="Fotografia" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" Width="193">
     </Rectangle>
     <ComboBox Height="23" HorizontalAlignment="Left" Margin="308,32,0,0" Name="comboBox1" VerticalAlignment="Top" Width="155" />
     <Button Content="Tomar Fotografia" Height="23" HorizontalAlignment="Left" Margin="316,88,0,0" Name="button2" VerticalAlignment="Top" Width="131" Click="button2_Click" />
     <Button Content="Obtener Dispositivos" Height="23" HorizontalAlignment="Left" Margin="479,32,0,0" Name="BtnObtenerDispo" VerticalAlignment="Top" Width="149" Click="BtnObtenerDispo_Click" />
     </Grid>

    en la cual tengo un boton que obtiene los dispositivos que hay en la compu, y los agrega en el combo box, posteriormente tengo otro boton que inicia la captura el cuan lo que hace es acceder a la webcam seleccionada y el codigo es el siguiente:

    para llenar el listbox es

    private void BtnObtenerDispo_Click(object sender, RoutedEventArgs e)
     {
     if (CaptureDeviceConfiguration.AllowedDeviceAccess ||
     CaptureDeviceConfiguration.RequestDeviceAccess())
     {
     //VideoCaptureDevice dispositivo = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
     ReadOnlyCollection<VideoCaptureDevice> coleccion = CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices();
     foreach (var item in coleccion)
     {
     comboBox1.Items.Add(item.FriendlyName);
     }
     }
     }

    y para acceder a la webcam seleccionada y mostrar la imagen en el rectangle tengo el siguiente codigo

    private void button1_Click(object sender, RoutedEventArgs e)
    
     {
    
     //VideoCaptureDevice dispositivo = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
    
     ReadOnlyCollection<VideoCaptureDevice> coleccion= CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices();
    
     foreach (var webcam in coleccion)
     {
     if (comboBox1.SelectedItem.ToString()== webcam.FriendlyName)
     {
     CaptureSource captureSource = new CaptureSource();
     captureSource.VideoCaptureDevice = webcam;
     VideoBrush videoBrush= new VideoBrush();
     videoBrush.SetSource(captureSource);
     videoBrush.Stretch = Stretch.UniformToFill;
    
     Fotografia.Fill = videoBrush;
     //Aqui se cierra el navegador :(
     captureSource.Start();
     } 
     }
     }
    y en la ventana del depurador para el catureSource me muestra la siguiente:

    http://img710.imageshack.us/img710/5700/datosdebug.png

    • Editado Hector MCT lunes, 24 de mayo de 2010 18:39
    lunes, 24 de mayo de 2010 15:44

Respuestas

  • He resuelto el problema, :) y el codigo esta bien.

     

    No se si sea la CORRECTA respuesta pero solo publique mi aplicacion y asi fue como funciono, y cuando estaba depurandola con VS 2010 como mensione se cierra mi navegador pero ya publicada nop. ahora si que, QUE LOCO NO?

    :) bueno espero les sirva esta respuesta

    • Marcado como respuesta Hector MCT lunes, 24 de mayo de 2010 21:08
    lunes, 24 de mayo de 2010 21:08

Todas las respuestas

  • Hola Hector.

    Es posible que se cierre por una excepcion, en la 3 linea de la imagen, paras la fuente de video con lo que no puedes usarla.

    ¿lo que quieres es capturar una imagen de la fuente de video? para ello puedes usar la funcion 'CaptureImageAsync'.


    Saludos
    David González
    lunes, 24 de mayo de 2010 17:34
  • hola David, he removido la linea en la cual detenia la camara y no funciona, el navegador se cierra cuando se ejecuta el codigo para iniciar la webcam

    existe alguna herramienta que tenga ke instalar extra para poder depurar y ver si me arroja alguna excepcion!!

    ya que por lo pronto no funciona el codigo para web cam :(

    lunes, 24 de mayo de 2010 20:28
  • He resuelto el problema, :) y el codigo esta bien.

     

    No se si sea la CORRECTA respuesta pero solo publique mi aplicacion y asi fue como funciono, y cuando estaba depurandola con VS 2010 como mensione se cierra mi navegador pero ya publicada nop. ahora si que, QUE LOCO NO?

    :) bueno espero les sirva esta respuesta

    • Marcado como respuesta Hector MCT lunes, 24 de mayo de 2010 21:08
    lunes, 24 de mayo de 2010 21:08
  • Hola Hector.

    prueba a ejecutar VS con derechos de administrador (si trabajas en Windows vista o 7) esto es necesario para que funcionen algunas caracteristicas correctamente bajo depuracion.


    Saludos
    David González
    martes, 25 de mayo de 2010 13:40
  • Me creeras que ni asi :), si gustas checa este link http://www.silverlight.net/learn/videos/all/access-web-camera-microphone/

    =lito coloque el codigo y nada de nada y con permisos de administrador y ni asi jejeje

    si puedes probarlo y contarme como te fue estaria bien.

    Saludos

    martes, 25 de mayo de 2010 19:38