Как получить имя кодека для mp3 файла? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, коллеги. Я недавно начал разбираться с C#. Решил написать Mp3 плеер. Могли бы вы мне подсказать каким образом возможно вывести информацию о кодеке, использованном в аудиофайле. Со структурой Mp3 файла ознакомился, но реализовать не получается. Если кто разбирается, разобрался или просто знает что делать помогите

Решение задачи: «Как получить имя кодека для mp3 файла?»

textual
Листинг программы
 public void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
        {
            // Test the current state of the player and display a message for each state.
            switch (e.newState)
            {
                case 0:    // Undefined
                    textBox2.Text = "Не возможно воспроизвести данные" + Environment.NewLine + "Установите следующий кодек: " + kodec;
                    isDis = false;
                    break;
                case 1:    // Stopped
                    textBox2.Text = "Stopped";
                    break;
                case 2:    // Paused
                     textBox2.Text = "Paused";
                    break;
                case 3:    //Play
                    textBox2.Text = "используемый кодек: " + kodec;
                    if (isMp3 == false)
                    {
                        this.textBox2.Text += Environment.NewLine + "author: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("author") + Environment.NewLine;
                        this.textBox2.Text += "Title: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("Title") + Environment.NewLine;
                        this.textBox2.Text += "Album: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("Album") + Environment.NewLine;
                        this.textBox2.Text += "copyright: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("copyright") + Environment.NewLine;
                        this.textBox2.Text += "Artist: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("Artist") + Environment.NewLine;
                        this.textBox2.Text += "Genre: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("Genre").ToString() + Environment.NewLine;
                        this.textBox2.Text += "Bitrate: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("Bitrate") + Environment.NewLine;
                        this.textBox2.Text += "Abstract: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("Abstract") + Environment.NewLine;
                        this.textBox2.Text += "bitRate: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("bitRate") + Environment.NewLine;
                        this.textBox2.Text += "duration: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("duration") + Environment.NewLine;
                    }
                    else
                    {
                        ID3 = new UltraID3();
                        ID3.Read(axWindowsMediaPlayer1.URL);
                        ID3MetaDataException[] exceptions = ID3.GetExceptions();
 
                        foreach (ID3MetaDataException xc in exceptions)
                        {
                            textBox2.Text += Environment.NewLine + xc.Message;
                        }
 
                        Mp3FileReader reader = new Mp3FileReader(axWindowsMediaPlayer1.URL);
                        textBox2.Text += Environment.NewLine + "author: " + ID3.Artist + Environment.NewLine;
                        textBox2.Text +=  reader.WaveFormat.Encoding  + Environment.NewLine;
                        textBox2.Text += "Title: " + ID3.Title + Environment.NewLine;
                        textBox2.Text += "Album: " + ID3.Album + Environment.NewLine;
                        textBox2.Text += "Genre: " + ID3.Genre + Environment.NewLine;
                        textBox2.Text += "Bitrate: " + axWindowsMediaPlayer1.currentMedia.getItemInfo("Bitrate") + Environment.NewLine;
                        textBox2.Text += "Year: " + ID3.Year + Environment.NewLine;
                        textBox2.Text += "duration: " + ID3.Duration + Environment.NewLine;
                    }
                    isDis = true;
                    break;
                //case 9:
                //    textBox2.Text = "Не возможно воспроизвести данные" + Environment.NewLine + "Установите следующий кодек: " + kodec;
                //    isDis = false;
                //    break;
                default:
                    textBox2.Text = ("Unknown State: " + e.newState.ToString());
                    break;
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы