none
Problème bouton et vidéo C#

    Discussion générale

  • Bonjour à tous ,

    j'ai réussi donc à afficher la vidéo d'une Caméra IP en C# et je souhaite mettre des boutons afin de pouvoir la faire pivoter. Le soucis , c'est que lorsque j'enlève la vidéo , les boutons fonctionnent bien ( je peux déplacer autant de fois que je veux la caméra) or quand je met la vidéo , je peux faire un déplacement et je doit recompiler pour faire un autre déplacement.


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using MjpegProcessor;
       
       
    namespace test_cam_v1
    {
        public partial class Form1 : Form
        {
            MjpegDecoder mjpeg = new MjpegDecoder();
     
            public Form1()
            {
                InitializeComponent();
                mjpeg.FrameReady += mjpeg_FrameReady;
                mjpeg.Error += mjpeg_Error;
                mjpeg.ParseStream(new Uri("http://192.168.1.5/videostream.cgi?user=admin&pwd=CAMIP5N1"));         
            }
       
            private void image_Click(object sender, EventArgs e){}
              
            private void mjpeg_FrameReady(object sender, FrameReadyEventArgs e)
            {
                image.Image = e.Bitmap;
            }
       
            void mjpeg_Error(object sender, ErrorEventArgs e)
            {
                MessageBox.Show(e.Message);
            }
       
            private void buttonEnvoyerDéplacerHaut_Click(object sender, EventArgs e)
            {
                mjpeg.ParseStream(new Uri("http://192.168.1.5/decoder_control.cgi?command=0&onestep=1&user=admin&pwd=CAMIP5N1"));
            }
      
            private void buttonEnvoyerDéplacerBas_Click(object sender, EventArgs e)
            {
                mjpeg.ParseStream(new Uri("http://192.168.1.5/decoder_control.cgi?command=2&onestep=1&user=admin&pwd=CAMIP5N1"));
            }
       
            private void buttonEnvoyerDéplacerGauche_Click(object sender, EventArgs e)
            {
                mjpeg.ParseStream(new Uri("http://192.168.1.5/decoder_control.cgi?command=6&onestep=1&user=admin&pwd=CAMIP5N1"));
            }
       
            private void buttonEnvoyerDéplacerDroite_Click(object sender, EventArgs e)
            {
                mjpeg.ParseStream(new Uri("http://192.168.1.5/decoder_control.cgi?command=4&onestep=1&user=admin&pwd=CAMIP5N1"));
            }
        }
    }

    Merci d'avance!


    lundi 20 février 2017 14:55

Toutes les réponses

  • Bonjour,

    Quel framework cible avez-vous choisi dans votre projet?

    Cordialement,

    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    mardi 21 février 2017 14:47
    Modérateur
  • Bonjour,

    Concernant le code de votre constructeur, je m'interroge sur les lignes concernant

            public Form1()
            {
                InitializeComponent();
                mjpeg.FrameReady += mjpeg_FrameReady;
                mjpeg.Error += mjpeg_Error;
                mjpeg.ParseStream(new Uri("http://192.168.1.5/videostream.cgi?user=admin&pwd=CAMIP5N1"));         
            }

    Ces deux lignes en gras ne sont appelées qu'une seule fois. Ne faudrait-il pas simplement les répéter dans les fonctions des boutons Déplacer_Haut, Déplacer_bas etc... comme ceci :

            private void buttonEnvoyerDéplacerHaut_Click(object sender, EventArgs e)
            {
                mjpeg.FrameReady += mjpeg_FrameReady;
                mjpeg.Error += mjpeg_Error;
                mjpeg.ParseStream(new Uri("http://192.168.1.5/decoder_control.cgi?command=0&onestep=1&user=admin&pwd=CAMIP5N1"));
            }  

    et ainsi de suite...

    Dites moi si cela change quelque chose à votre problème

    Cordialement

    Patrick


    dimanche 26 février 2017 02:02