vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Probleme beim auslesen von mp3IDv2 Tags 
Autor: spomue
Datum: 16.10.09 13:26

Hallo Leute,

ich bin gerade dabei mir mit vb2008 einen ID3v2 Tag-editor zu bauen und brauche eure Hilfe. Der Code denn ich hauptsächlich benutze ist von dieser Internetseite
http://www.vbarchiv.net/xtra/details.php?id=9082

Soweit sieht das was ich bis jetz gemacht habe nicht so schlecht aus. Ein Problem habe ich nur wenn ein Bild in dem mp3-Tag vorhanden ist. Dann ist die berechnete Framegröße riesig und nachdem das Program damit nichts anfangen konnte ist alles was es dann ließt noch mehr Grüze.

Könnt ihr mir da irgendwie weiterhelfen wie ich da mit dem APIC-Frame vorgehen soll?

Gruß Andreas

Hier mein Code Teil 1:
Imports System.Data
Imports System.IO
Imports System.Data.OleDb
'Imports IniFile
 
Public Class AndiMp3Tags
 
    ' ID3v2-Infostruktur
    Private Structure ID3v2
        Dim sTitle As String
        Dim sArtist As String
        Dim sAlbum As String
        Dim sComment As String
        Dim sYear As String
        Dim sGenre As String
        Dim sComposer As String
        Dim sURL As String
        Dim sOrgArtist As String
        Dim sCopyright As String
        Dim sEncodeBy As String
        Dim sTrack As String
        Dim sMedium As String
        Dim sLen As String
    End Structure
 
    ''' <summary>
    ''' Prüft, ob eine MP3-Datei über ID3v2-Infos verfügt
    ''' </summary>
    ''' <param name="sFile">Dateiname der MP3-Datei</param>
    ''' <returns>Länge des ID3v2-Tags</returns>
    Private Function MP3_ID3v2Exists(ByVal sFile As String) As Integer
        Dim bData() As Byte
        Dim sData As String = ""
        Dim nID3v2Size As Integer = 0
 
        ' Prüfen, ob Datei auch existiert
        If System.IO.File.Exists(sFile) Then
            Try
                ' Datei zum Lesen öffnen
                Dim oStream As New System.IO.FileStream(sFile, IO.FileMode.Open)
 
                ' ersten 3 Bytes lesen und prüfen, ob es sich hierbei
                ' um den Eintrag "ID3" handelt
                ReDim bData(2)
                oStream.Read(bData, 0, 3)
                sData = System.Text.Encoding.Default.GetString(bData)
                If sData = "ID3" Then
                    ' Größe des ID3v2-Tags ermitteln
                    ReDim bData(3)
                    oStream.Seek(6, IO.SeekOrigin.Begin)
                    oStream.Read(bData, 0, 4)
 
                    sData = ""
                    For z As Integer = 2 To 0 Step -1
                        For i As Integer = 0 To 6
                            sData &= CStr(Math.Abs(bData(z) And (2 ^ i)))
                        Next i
                    Next z
 
                    For i As Integer = 7 To 27
                        nID3v2Size += ((2 ^ i) * Val(sData.Substring(i - 7, 1)))
                    Next i
                    nID3v2Size += bData(3) + 10
                End If
                oStream.Close()
            Catch ex As Exception
            End Try
        End If
 
        Return (nID3v2Size)
    End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Probleme beim auslesen von mp3IDv2 Tags1.377spomue16.10.09 13:26
Re: Probleme beim auslesen von mp3IDv2 Tags896spomue16.10.09 13:28
Re: Probleme beim auslesen von mp3IDv2 Tags968spomue16.10.09 13:29

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel