Get ID3v1

Status
Niet open voor verdere reacties.

bonnowagt

Gebruiker
Lid geworden
7 dec 2006
Berichten
445
Ik gebruik onderstaande code voor de eigenschappen van een MP3 weer te geven. In 95 procent van de gevallen lukt dit prima, alleen bij sommige vooral oude mp3 nummers krijg ik een foutmelding , mbt tot de rekenreeks. Nu heb ik via onderbrekingen ontdekt dat het zit bij de regel FileOpen(Intfile enz.
Dat ik geen eigenschappen krijg is niet erg want die zijn er kennelijk niet maar ik krijg wel een foutmelding: SystemInvalidCastException: De conversie van tekenreeks.
Weet iemand hoe ik kan voorkomen dat ik een melding krijg. Ik heb het geprobeerd met try maar zoals je ziet werkt het niet.


Code:
 Private Function Get_ID3v1() As Boolean
        Try
            ListBox1.SelectedItem = ListBox2.SelectedItem
            Dim sSourceFile As String = ListBox1.SelectedItem
            Dim intFile As Integer = FreeFile()

            FileOpen(intFile, sSourceFile, OpenMode.Binary, OpenAccess.Read, OpenShare.LockWrite)

            Dim lngLOF As Long = LOF(intFile)
            If (lngLOF < 129) Then

                Return False
                Exit Function
            End If
            If (lngLOF > 128) Then
                FileGet(intFile, strTag, lngLOF - 127, True)
                If (strTag.ToUpper = "TAG") Then
                    FileGet(intFile, strTitle)
                    FileGet(intFile, strArtist)
                    FileGet(intFile, strAlbum)
                    FileGet(intFile, strYear)
                    FileGet(intFile, strComment)
                    FileGet(intFile, bytDummy)
                    FileGet(intFile, bytTrack)
                    FileGet(intFile, bytGenre)
                    Mp3File.Artist = strArtist
                    Mp3File.Album = strAlbum
                    Mp3File.Year = strYear
                    Mp3File.Comment = strComment
                    Mp3File.Track = bytTrack
                    Mp3File.Genre = bytGenre
                    FileClose(intFile)
                Else
                    Label15.Text = "Gegevens onbekend van dit liedje"
                    Label16.Text = ""
                    Label17.Text = ""
                    Label18.Text = ""
                    Label19.Text = ""
                    Label20.Text = ""
                    Label21.Text = ""

                    Return False
                End If
            Else
                Label15.Text = "Gegevens onbekend van dit liedje"
                Label16.Text = ""
                Label17.Text = ""
                Label18.Text = ""
                Label19.Text = ""
                Label20.Text = ""
                Label21.Text = ""
                Return False
            End If
 
Je hebt er wel Try in staan maar ik mis de Catch ex As Exception en uiteraard de daarbij behorende code voor het afhandelen van de ex status, of hoe je de fout dan ook wilt opvangen. Daarnaast zou ik de Try net voor de FileOpen zetten en niet aan het begin van de functie.
 
Laatst bewerkt:
Deze try was wel voorzien van een catch want de code lipe nog verder door. Ik heb de try voor de Open gezet en de Catch na de open en ik krijg nu geen foutmelding meer, dus bedankt voor jeadvies.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan