Webradio simple

Description

Ce petit programme est une web radio. Les adresses web viennent du fichier texte du site web qu'il faut télécharger: http://www.kmplayer.com/forums/showthread.php?t=7117

Quand le fichier texte est mise à jour, télécharger la nouvelle version pour avoir les nouvelles adresses.

Je me sert d'une classe pour ordonner les adresses, nom et url des radios.
Il y a plusieurs url de radio qui ne fonctionne pas, mais une bonne partie son encore valide.
Dans le fichier source, le fichier texte y est inclue sous le nom de URLList.
La première étape à faire pour les lires est : Fichier->emplacement

Source / Exemple :


public class Radio                      // class pour stocker les données après analyse du fichier texte
        {   public int Nb;              // Nombre de site web dans le fichier texte
            public string Mise_A_Jour;  // Site web pour vérifier si une mise à jour du fichier texte est disponible
            public string Version;      // Version du fichier texte
            public List<string> Site_Web = new List<string>();  // List contenant les sites web
            public List<Info> info = new List<Info>();  // Voir Info
        }
        public class Info                // class contenant les informations reliés au site web ci-haut
        {
            public int Nb;               // Nombre de station de radio par site web
            public List<string> Nom = new List<string>();  // Nom de la radio
            public List<string> Musique = new List<string>();  // Adresse web pour la musique
        }

        Radio radio = new Radio();  
        Info info = new Info();
        int selectWeb=-1, SelectRadio=-1;
        string Direction="-1";

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e) // Selectionne le site web contenant les web radio
        {
            listBox2.Items.Clear();
            SelectRadio = -1;
            selectWeb = listBox1.SelectedIndex;

            for (int i = 0; i < radio.info[selectWeb].Nb; i++)
            {
                listBox2.Items.Add(radio.info[selectWeb].Nom[i]);
            }
        }

        private void listBox2_SelectedIndexChanged(object sender, EventArgs e) // Sélectionne la web radio
        {
            SelectRadio = listBox2.SelectedIndex;
            if (SelectRadio !=-1)
            {
                axWindowsMediaPlayer1.URL = radio.info[selectWeb].Musique[SelectRadio];
            }
        }
        private void button3_Click(object sender, EventArgs e)  // Arrete  windows media player
        {
            axWindowsMediaPlayer1.Ctlcontrols.stop();
        }
        private void button2_Click(object sender, EventArgs e)  // Fait jouer la musique
        {
            if (SelectRadio != -1)
            {
                axWindowsMediaPlayer1.URL = radio.info[selectWeb].Musique[SelectRadio];
            }
        }

        private void button4_Click(object sender, EventArgs e)  // Ouvre le site web de la web radio
        {
            if (selectWeb != -1)
            {
              Ouvrir_Url(radio.Site_Web[selectWeb]);
            }
        }

        private void ouvrirToolStripMenuItem_Click(object sender, EventArgs e)  // Ouvre le fichier, l'analyse et met les infos dans la class
        {
            Direction = Chemin();

            if (Direction == "Erreur")
            {
                MessageBox.Show("Impossible de lire le fichier texte.");
            }
            else
            {
            List<string> Liste = new List<string>();
            string line;
            char[] Site;
            int element = 0;
            bool ajouter = false;

            if (File.Exists(Direction))
            {
                System.IO.StreamReader file = new System.IO.StreamReader(Direction);
 
                while ((line = file.ReadLine()) != null)
                {
                    Liste.Add(line);
                    element++;
                }
                    radio.Version = Liste[0].Replace(";","");
                    radio.Mise_A_Jour = Liste[1].Replace(";","");

                    for (int i = 3; i < element; i++) 
                    {
                        Site = Liste[i].ToCharArray();

                        if (Site[0] == ';') 
                        {
                            radio.Site_Web.Add(Liste[i].Replace(";http://", ""));
                            radio.Nb++;
                            if (ajouter == true)
                            {
                                radio.info.Add(info);
                            }
                            ajouter = true;
                            info = new Info();
                        }
                        else
                        {
                            for (int j = 0; j < Site.Length; j++) 
                            {

                                if (Site[j] == '=')
                                {
                                    info.Nom.Add(Liste[i].Substring(0, j));
                                    info.Musique.Add(Liste[i].Substring(j + 1, Site.Length - j - 1));
                                    info.Nb++;
                                }

                            }

                        }

                    }
                    radio.info.Add(info);

                    for (int i = 0; i < radio.Nb; i++)
                    {
                        listBox1.Items.Add(radio.Site_Web[i]);
                    }

                    file.Close();
                }
            }   
        }

        private void àPropotToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Direction != "-1")
            {
                MessageBox.Show("Programme de Grégory Clément\n\r" + "Réalisé avec Visual C# 2010\n\r"
                    + "Version du fichier texte: " + radio.Version);
            }
        }

        private void miseÀJourToolStripMenuItem_Click(object sender, EventArgs e) // Ouvre le navigateur web pour vérifier les mises à jour
        {
            if (Direction != "-1")
            {
                Ouvrir_Url(radio.Mise_A_Jour);
            }
        }

        private void fichierTexteToolStripMenuItem_Click(object sender, EventArgs e) // Ouvre le fichier texte
        {
            if (Direction != "-1")
            {
                Ouvrir_Url(Direction);
            }
        }

//-----------------Fonction--------------------------------

        static public string Chemin() // lit le fichier texte
        {
            string Direction;
            OpenFileDialog Lecture = new OpenFileDialog();

            Lecture.DefaultExt = "*.txt";
            Lecture.Filter = "TXT Files|*.txt";

            if (Lecture.ShowDialog() == System.Windows.Forms.DialogResult.OK && Lecture.FileName.Length > 0)
            {
                Direction = Lecture.InitialDirectory + Lecture.FileName;

                if (Direction.IndexOf("URLList.txt") != -1)
                {
                    return Direction;
                }

            }
            return "Erreur";
        }
        static public void Ouvrir_Url(string URL)  // Ouvre les pages web/texte
        {
            try
            {
                System.Diagnostics.Process.Start(URL, "-new");
            }
            catch{}
        }  
    }
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.