Seite 1 von 1

Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 09.11.2010 20:11
von nordwolf
Vor langem hab ich aufgegeben, die Spieldauer oder Bitrate aus MP3-Dateien auszulesen, um per Programm in meinem Musikbestand doppelte Dateien zu erkennen und zu löschen.
Nun will ich nochmal einen Versuch unternehmen, nachdem ich folgende Seiten gefunden habe:

http://www.purearea.net/pb/german/userlibs.php

MP3-Info ? 1.0 23.09.2002 El_Choni 3 KB
Funktion zur Ermittlung verschiedener Informationen rund um MP3-Dateien, wie Größe, Länge, Bitrate, Frequenz usw


Die Datei „MP3-Info.pb“ enthält folgenden Code:
1 Structure MP3INFO
2 fileSize.l ; in bytes
3 fileLength.l ; in milliseconds
4 bitrate.l ; in bps. if negative: variable bitrate,bitrate=negated average
5 frequency.l ; in Hertz
6 nFrames.l ; number of MPEG frames
7 EndStructure
8 mpi.MP3INFO
9
10 GetMP3Info("d:\Queen - I want it all.mp3", @mpi)
11 laenge=mpi\fileLength/1000 ;Länge in Sekunden ermitteln
12 Debug laenge

Ich bekomme die Fehlermeldung “GetMP3Info() is not a function, macro or linked list” , die mir sagt, dass die Funktion noch nicht zur Verfügung steht.

Steckt diese Funktion in der Datei „MP3“ ???
Wenn ja, wie binde ich sie ein ???

Oder hat jemand alternativ irgend ein Stück PB-Programm-Code, dass in folgendem Beispiel die „Spieldauer“ auswirft ???

File$ = "H:\Pop-1990-1999\Abba - People Need Love.mp3"
Pattern$ = "Alle Dateien (*.*)|*.*"
Pattern = 0
File$ = OpenFileRequester("Bitte Datei zum Laden auswählen", File$, Pattern$, Pattern)
Groesse = FileSize(File$)

; Spieldauer = ??? und diese Zeile steht für die mir fehlenden Code-Zeilen !!!

Debug File$
Debug "Dateigröße: " + Str(Groesse)
Debug "Spieldauer: " + Str(Spieldauer)
End

Wer kann mir Anfänger helfen ?

Re: Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 09.11.2010 20:25
von rolaf
Kloro, die Datei "MP3" muß ins PureBasic Unterverzeichnis "PureLibraries/UserLibraries". :allright:

Re: Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 09.11.2010 20:28
von ts-soft
DrFalo hat geschrieben:Kloro, die Datei "MP3" muß ins PureBasic Unterverzeichnis "PureLibraries/UserLibraries". :allright:
Das eine Userlib von 2002 noch funktioniert zweifel ich aber mal an :mrgreen:

Re: Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 09.11.2010 20:33
von rolaf
ts-soft hat geschrieben:
DrFalo hat geschrieben:Kloro, die Datei "MP3" muß ins PureBasic Unterverzeichnis "PureLibraries/UserLibraries". :allright:
Das eine Userlib von 2002 noch funktioniert zweifel ich aber mal an :mrgreen:
Du sollst nicht zweifeln sondern probieren. Sie geht natürlich. :-P

Re: Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 09.11.2010 21:18
von c4s
Und sonst kann man sich ja die entsprechende PureBasic-Version aus dem Museum nachinstallieren. :allright:

Re: Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 10.11.2010 11:26
von SoS
DrFalo hat geschrieben:Sie geht natürlich. :-P
Ich weiss nicht ob es noch so ist,aber es gibt/gab da noch das Problem mit der MP3Info.res .

Ich habe die Structur ,die in dieser Datei steckt,einfach selbst erstellt.

Re: Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 10.11.2010 20:22
von nordwolf
Es funktioniert :D
Tausend Dank allen für die unglaublich schnellen Antworten !!!
Eine Kontrolle mit WinAmp ergab einen identischen Wert. Nun kann ich mein Programm zur Bereinigung meines MP3-Bestandes fertigstellen.
Interesse halber habe ich noch 2 Fragen:
A) Das Programm
1 Structure MP3INFO
2 fileSize.l ; in bytes
3 fileLength.l ; in milliseconds
4 bitrate.l ; in bps. if negative: variable bitrate,bitrate=negated average
5 frequency.l ; in Hertz
6 nFrames.l ; number of MPEG frames
7 EndStructure
8 mpi.MP3INFO
9
10 GetMP3Info("d:\Queen - I want it all.mp3", @mpi)
11 laenge=mpi\fileLength/1000 ;Länge in Sekunden ermitteln
12 Debug laenge
13 End
läuft; mir ist aber völlig unklar, wie die Datei "MP3" aufgerufen wird, da ich im Code nur die Zeichenkette MP3INFO finde, und "mpi" habe ich in der PB-Hilfe auch nicht gefunden. ???

B) Mein Programm ändert bisher über alle Unterverzeichnisse Dateinamen von MP3-Dateien wie z.B. "INTERPRET-titel.MP3" auf die Schreibweise "Interpret - Titel {Album}[Jahrgang].mp3", liest dafür verfügbare Info aus den IDtags.
Nach Fertigstellung werden doppelte Dateien (unter Beachtung von Spieldauer, Bitrate, ...) gelöscht.
Ist sowas für die Allgemeinheit interessant, oder zu trivial ?
Fall interessant, was gibt es rechtlich zu bedenken?

Gruß Nordwolf

Re: Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 11.11.2010 01:45
von PMV
MP3INFO ist keine Zeichenkette, sondern eine Struktur.
Was eine Struktur ist, lässt sich in der PB-Hilfe finden. <)
Und dann wird dir auch hoffentlich klar, was in Zeile 8 passiert. :wink:

Die Datei "MP3" ist eine Bibliothek. PB durchsucht den
Userlib-Ordner beim start und registriert alle Funktionen.

MFG PMV

Re: Spieldauer oder Bitrate von MP3-Dateien

Verfasst: 11.11.2010 20:05
von nordwolf
Danke PMV,
habe mich dank deiner Tips ganz brauchbar eingelesen. Vor allem die Info zur "Bibliothek MP3" war hilfreich fürs Verständnis.
Gruß Nordwolf