Zum Inhalt springen

C# Dateieigenschaften auslesen


Empfohlene Beiträge

Geschrieben

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

Geschrieben

Ich kann damit leider nicht viel anfangen.

Kannst du mir ein beispiel nennen, wie ich die Eigenschaften einer MP3-Datei ändern kann? EIn Beispiel für ein Album, Interpret, Genre o.ä. reicht mir brauch nur ein Denkanstoß :S

Danke dir... grüße

Geschrieben

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

Geschrieben

So, nach vielen verzweifelten Versuchen bin ich zu der Erkenntnis gekommen, ich raffs nicht.

Kennt sich jemand damit aus? Ich verstehe nicht wie ich es verwende... Ich verzweifel.. -.-

Geschrieben

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?

Geschrieben
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.

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...