tagi plików mp3

0

Witam mam problem z odczytaniem niektórych tagów z plików mp3. Chodzi mi o to że nie wiem jak mam określić rozmiar nazwy tagu aby można było wczytywać różne pliki mp3. Oto kod który napisałem

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Drawing2D;


namespace mp3
{
    public partial class Form1 : Form
    {
         private string metoda1(BinaryReader czytaj, int ile)
        {
            byte[] n = new byte[ile];
            czytaj.Read(n, 0, n.Length);
            return Encoding.ASCII.GetString(n, 0, n.Length);//konwersacja na ASCII(stringi)
        }
       
        public Form1()
        {
            InitializeComponent();
        }
        private void wczytaj_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog plik = new OpenFileDialog();
                plik.Title = "Otwieranie pliku wave";
                plik.InitialDirectory = "C:\\Users\\*\\Desktop";
                plik.Filter = "Pliki mp3 |*.mp3";
                plik.ShowDialog();
                plik.OpenFile();

                scieszka.Text = plik.FileName;
      
                BinaryReader reader = new BinaryReader(File.OpenRead(plik.FileName));
              
                //---------------------------- Album----------------------------
                byte talb = 0;
                while (talb == 0)
                {
                    if (metoda1(reader, 1) != "T") continue;
                    if (metoda1(reader, 1) != "A") continue;
                    if (metoda1(reader, 1) != "L") continue;
                    if (metoda1(reader, 1) != "B") continue;
                    if (metoda1(reader, 7) != "       ")
                    talb = 1;
                }
                textBox_ALBUM.Text = metoda1(reader,17);//17
                //--------------------------tytuł-------------------------------
                byte tit2 = 0;
                while (tit2 == 0)
                {
                    if (metoda1(reader, 1) != "T") continue;
                    if (metoda1(reader, 1) != "I") continue;
                    if (metoda1(reader, 1) != "T") continue;
                    if (metoda1(reader, 1) != "2") continue;
                    if (metoda1(reader, 7) != "       ")
                        tit2 = 1;
                }
                textBox_TYTUL.Text = metoda1(reader, 29);
                //------------------------wykonawca----------------------------
                byte tpe1 = 0;
                while (tpe1 == 0)
                {
                    if (metoda1(reader, 1) != "T") continue;
                    if (metoda1(reader, 1) != "P") continue;
                    if (metoda1(reader, 1) != "E") continue;
                    if (metoda1(reader, 1) != "1") continue;
                    if (metoda1(reader, 7) != "       ")
                        tpe1 = 1;
                }
                textBox_WYKONAWCA.Text = metoda1(reader, 6);

            }
            catch
            {
                MessageBox.Show("Nie wybrałeś pliku");
            }

        }
       


       
    }
}


 
0

Nie lepiej użyć do tego gotowej biblioteki, tj do czytania zawartości MP3?

0

dobrze rozumiem? chcesz tagi z plików mp3 odczytać? Jest trochę słów o tym w Delphi:
http://4programmers.net/Delphi/Kompendium/Rozdzia%C5%82_10#id-Odczyt-tagu-z-pliku-mp3
Czyli odczyt ostatnich 128 bajtów w pliku, bo tam zaczynają się tagi w mp3.

1 użytkowników online, w tym zalogowanych: 0, gości: 1