kostenloser Webspace werbefrei: lima-city


MP3-Tag mit VB.NET auslesen und bearbeiten

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    bene1989

    Kostenloser Webspace von bene1989

    bene1989 hat kostenlosen Webspace.

    Hi,

    ich programmiere ja einen MP3-tag/player">Player. Jetzt w?re es ganz nett, wenn der MP3-Tags auslesen und eventuell bearbeiten. Ich habe schon im I-net gesucht und nur Scripts f?r VB6 gefunden. Und wenn ich den Umkonvertieren lasse kommt dabei nur mist raus.

    Deswegen meine Frage: Kennt einer ein Script f?r VB.NET mit dem ich MP3-Tags auslesen und bearbeiten kann.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Also ich hab eine L?sung f?r VB.Net, um MP3-Tags auszulesen. (der folgende Code kann die Tags nur lesen, aber noch nicht bearbeiten, daran arbeite ich noch).

    Der Aufruf ist ganz einfach:

    '************************************************************
    Private Sub Button1_Click(...)...

    Dim MP3Tag As New MP3TagData
    Dim Dateiname As String = "D:\Test.mp3"
    'Tags auslesen:
    Try
    MP3Tag.ReadFromFile(Dateiname)
    Catch ex As Exception
    MsgBox(ex.Messege.ToString)
    End Try
    'Tags anzeigen:
    MsgBox( _
    "Album: " & MP3Tag.Album & vbNewLine & _
    "Artist: " & MP3Tag.Artist & vbNewLine & _
    "Titel: " & MP3Tag.SongTitle & vbNewLine & _
    "Jahr: " & MP3Tag.Year)

    End Sub
    '************************************************************


    Aber leider funktioniert dies noch nicht. Es fehlt noch die Funktion MP3TagData. Und die gibts hier. Einfach unter alle anderen "Class"-Anweisungen einf?gen oder in einem neuen Modul einf?gen (aber nicht in die "Module"-Anweisung, sondern ganz unten einf?gen):


    '************************************************************
    Public Class MP3TagData

    Private _Artist As String
    Private _SongTitle As String
    Private _Album As String
    Private _Year As String
    Public ReadOnly Property Artist() As String
    Get
    Return _Artist
    End Get
    End Property
    Public ReadOnly Property SongTitle() As String
    Get
    Return _SongTitle
    End Get
    End Property
    Public ReadOnly Property Album() As String
    Get
    Return _Album
    End Get
    End Property
    Public ReadOnly Property Year() As String
    Get
    Return _Year
    End Get
    End Property
    Public Sub ReadFromFile(ByVal filename As String)
    ' Bereits vorhandene Werte l?schen.
    Me._SongTitle = ""
    Me._Artist = ""
    Me._Album = ""
    Me._Year = ""
    Dim fs As New FileStream(filename, FileMode.Open)
    ' MP3-Tag lesen.
    fs.Seek(0 - 128, SeekOrigin.End)
    Dim Tag(2) As Byte
    fs.Read(Tag, 0, 3)
    ' ?berpr?fen, ob ein Tag vorhanden ist.
    If System.Text.Encoding.ASCII.GetString(Tag).Trim() = "TAG" Then
    ' Titel.
    Me._SongTitle = GetTagData(fs, 30)
    ' K?nstler.
    Me._Artist = GetTagData(fs, 30)
    ' Album.
    Me._Album = GetTagData(fs, 30)
    ' Jahr.
    Me._Year = GetTagData(fs, 4)
    End If
    fs.Close()
    End Sub
    Private Function GetTagData(ByVal stream As Stream, _
    ByVal length As Integer) As String
    ' Daten lesen.
    Dim Bytes(length - 1) As Byte
    stream.Read(Bytes, 0, length)
    Dim TagData As String = System.Text.Encoding.ASCII.GetString(Bytes)
    ' Nullen abschneiden.
    Dim TrimChars() As Char = {Char.Parse(" "), Char.Parse(vbNullChar)}
    TagData = TagData.Trim(TrimChars)
    Return TagData
    End Function

    End Class
    '************************************************************

    Ist doch ganz leicht zum Verwenden, auch wenn man den Code in der Class "MP3TagData" nicht versteht.

    MfG Chris
  4. Autor dieses Themas

    bene1989

    Kostenloser Webspace von bene1989

    bene1989 hat kostenlosen Webspace.

    wie ich sehe ist dir ein ganz kleiner Rechtschreibfehler unterlaufen. Es muss so hei?en:

    '************************************************************
    Private Sub Button1_Click(...)...

    Dim MP3Tag As New MP3TagData
    Dim Dateiname As String = "D:\Test.mp3"
    'Tags auslesen:
    Try
    MP3Tag.ReadFromFile(Dateiname)
    Catch ex As Exception
    MsgBox(ex.Message.ToString)
    End Try
    'Tags anzeigen:
    MsgBox( _
    "Album: " & MP3Tag.Album & vbNewLine & _
    "Artist: " & MP3Tag.Artist & vbNewLine & _
    "Titel: " & MP3Tag.SongTitle & vbNewLine & _
    "Jahr: " & MP3Tag.Year)

    End Sub
    '************************************************************

    Nochmal danke, du hast mir sehr geholfen.
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!