Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C# Dateieigenschaften auslesen

Empfohlene Antworten

Veröffentlicht

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

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

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

Eigentlich kann man doch die Infos (Alben, Interpret etc..) In der Dateiinfo ändern.

Mh das das so schwierig ist hätte ich net gedacht. Ich versuche mal das zu bauen..

danke

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

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?

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.

Ja das ist mir aufgefallen und ich wollte es ändern, weil ich dachte das es ein Fehler sei. Leider konnte ich es nicht ändern.

Wie kann ich es denn Convertieren bzw auslesen?

Wie heißen diese Listen?

Ja richtig, da ich davon ausging das diese Frage schnell beantwortet wäre. Gut ich werde suchen. Entschuldige, ich nahm an das es einfach schneller geht.

Danke, ich hab falsch gegooglt...

"byte tabelle mp3 meta"

Danke dir.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.