Zum Inhalt springen

C# Dateieigenschaften auslesen


swonson

Empfohlene Beiträge

Gute Abend,

ich habe noch ein Problem, welches ich mit google nicht lösen kann..

Wie kann ich mit C# die Eigenschaften einer beliebigen Datei auslesen une bearbeiten ?

Ich habe bei google nur leute gefunden die das gleiche suchen wie ich.

Ich danke euch im voraus.

Mfg Swonson & Frohe Weihnachten

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du musst unterscheiden zwischen Dateieigenschaften, die durch Metainformationen im Dateisystem beschrieben werden (das sind die, die du mit FileInfo beeinflussen kannst), und denen, die durch das Dateiformat beschrieben werden und ihre Werte durch den Inhalt der Datei selbst erhalten.

Für letztere wirst du keine allgemeingültige Lösung finden, sondern bestenfalls spezifische Funktionen. Schlimmstenfalls musst du das Dateiformat selbst aufdröseln.

Falls du also die ID3-Metadaten einer MP3-Datei verändern willst, musst du genau danach suchen. Nicht allgemein nach Dateieigenschaften.

Da findet man dann so etwas: C# ID3 Library | Download C# ID3 Library software for free at SourceForge.net

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sorry für die Posts hintereinander -.-

Ich habe ein Snipped gefunden, welches mir sehr viel weiter hilft, allerdings habe ich ein Porblem. Erstma der Code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;


namespace ConsoleApplication1

{

    class MusicID3Tag 

    {


        public byte[] TAGID = new byte[3];      //  3 

        public byte[] Title = new byte[30];     //  30 

        public byte[] Artist = new byte[30];    //  30  

        public byte[] Album = new byte[30];     //  30  

        public byte[] Year = new byte[4];       //  4  

        public byte[] Comment = new byte[30];   //  30  

        public byte[] Genre = new byte[1];      //  1 


        static void Main(string[] args)

        {

            string filePath = @"D:\1eins\Sicherung!\Sicherung!\Musike\Sample Music\Sleep Away.mp3";

            using (FileStream fs = File.OpenRead(filePath))

            {

                if (fs.Length >= 128)

                {

                    MusicID3Tag tag = new MusicID3Tag();

                    fs.Seek(-128, SeekOrigin.End);

                    fs.Read(tag.TAGID, 0, tag.TAGID.Length);

                    fs.Read(tag.Title, 0, tag.Title.Length);

                    fs.Read(tag.Artist, 0, tag.Artist.Length);

                    fs.Read(tag.Album, 0, tag.Album.Length);

                    fs.Read(tag.Year, 0, tag.Year.Length);

                    fs.Read(tag.Comment, 0, tag.Comment.Length);

                    fs.Read(tag.Genre, 0, tag.Genre.Length);


                    string theTAGID = Encoding.Default.GetString(tag.TAGID);


                    if (theTAGID.Equals("TAG"))

                    {

                        string Title = Encoding.Default.GetString(tag.Title);

                        string Artist = Encoding.Default.GetString(tag.Artist);

                        string Album = Encoding.Default.GetString(tag.Album);

                        string Year = Encoding.Default.GetString(tag.Year);

                        string Comment = Encoding.Default.GetString(tag.Comment);

                        string Genre = Encoding.Default.GetString(tag.Genre);


                        Console.WriteLine("Titel: " + Title);

                        Console.WriteLine("-");

                        Console.WriteLine("Artist: " + Artist);

                        Console.WriteLine("-");

                        Console.WriteLine("Album: " + Album);

                        Console.WriteLine("-");

                        Console.WriteLine("Year: " + Year);

                        Console.WriteLine("-");

                        Console.WriteLine("Comment: " + Comment);

                        Console.WriteLine("-");

                        Console.WriteLine("Genre: " + Genre);

                        Console.WriteLine("-");

                        Console.WriteLine();

                    }

                }

            }

            Console.ReadKey();

        }

    }

}

Dieser Code funktioniert einwandfrei und ist wie man sieht sehr leicht. Leider habe ich nur ein Problem und das wäre die Genre... er Zeigt mir nicht die eingespeicherte Genre an sondern irgendwelche Zeichen.

Directupload.net - D3qxtqxy3.png

Das ist die Ausgabe. Kann mir jemand sagen, woran das liegt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

er Zeigt mir nicht die eingespeicherte Genre an sondern irgendwelche Zeichen.
Doch, das Programm zeigt das Genre an. Dein Programm geht aber offenbar davon aus, dass das Genre als Text gespeichert wird. Das trifft schlicht und einfach nicht zu, was du schon daran hättest erkennen können, dass für das Genre nur ein einziges Byte reserviert ist.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe zwei detail Tabellen gefunden, allerdings bin ich mir nicht sicher.

nr. 1

http://upload.wikimedia.org/wikipedia/commons/0/01/Mp3filestructure.svg

Die ist nicht hilfreiche, aber die zweite

nr. 2

MP3 Player: Grundlagen

allerdings wird dort die Genre auch als 1 Byte beschrieben, was für ein denkfehler mach ich? Das ist ja genau das gleiche wie im Code.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...