Как получить имя кодека для 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;
}
}