Vlc et RTSP

Résolu
chyrla Messages postés 179 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 29 janvier 2016 - 18 févr. 2015 à 10:16
Whismeril Messages postés 19048 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 mai 2024 - 18 févr. 2015 à 13:58
Bien le bonjour,

j'ai pour projet de faire un petit logiciel pour voir le flux de vidéos des caméras installées.

Le flux est un flux RTSP que je veux récupérer sur mon petit soft en c# windows form avec le plugin vlc activex.

Jai la fenêtre du plugin VLC dans ma windowsform avec 6 radiobuttons sur le coté et en fonction de ce qui est coché je dois changer de flux.

J'ai du mal à trouver des pages en français à propos des options pour ce plugin pour justement dire à vlc "prend ça et lit le".

Je pensais faire une condition du genre :

if(radioButton1.Checked == true)
            {
                //lire rtsp://192.168.1.172
            }
            else
            {
                if(radioButton2.Checked == true)
                {
                    //lire rtsp://192.168.1.173
                }
                else
                {
                    if(radioButton3.Checked == true)
                    {
                        //lire rtsp://192.168.1.174
                    }
                }
            }


et ainsi de suite selon le nombre de caméras.

D'avance merci pour votre aide

1 réponse

Whismeril Messages postés 19048 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 mai 2024 656
18 févr. 2015 à 13:58
Bonjour,

je ne t'aiderais pas pour VLC, je n'y ai jamais touché via programmation.
Mais les cascades de if ça n'est pas terrible du tout.
Tu peux remplacer ça par un switch.
Ensuite je te conseille de nommer tes contrôles de façon compréhensible, ça simplifiera la maintenance à venir.

Dans cet exemple les evenement checkedChanged de mes 6 radiobuttons sont connectés à la méthode radCam1_CheckedChanged.
Je me sers du nom du controle pour le swtich, mais on peut aussi se servir de la propriété Tag.

        private RadioButton radChoixCam;
        /// <summary>
        /// Gére la sélection de la caméra
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void radCam1_CheckedChanged(object sender, EventArgs e)
        {
            RadioButton rad = ((RadioButton)sender);
            
            if (rad.Checked)//l'évenement est appelé par celui qui perd le check et celui qui le gagne; il ne faut affecter la variable qu'à celui qui le gagne
            {
                radChoixCam = rad;
                ChoixFlux();
            }
        }

        /// <summary>
        /// Affiche le flux choisi
        /// </summary>
        private void ChoixFlux()
        {
            

            switch (radChoixCam.Name)
            {
                case "radCam1":
                    //prends le flux 1
                    break;

                case "radCam2":
                    //prends le flux 2
                    break;

                case "radCam3":
                    //prends le flux 3
                    break;
                
                case "radCam4":
                    //prends le flux 4
                    break;
                
                case "radCam5":
                    //prends le flux 5
                    break;

                case "radCam6":
                    //prends le flux 6
                    break;

                default:
                    //il y a un problème
                    break;
            }
        }

1
Rejoignez-nous