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 ?
Spieldauer oder Bitrate von MP3-Dateien
Re: Spieldauer oder Bitrate von MP3-Dateien
Kloro, die Datei "MP3" muß ins PureBasic Unterverzeichnis "PureLibraries/UserLibraries". 

:::: WIN 10 :: PB 5.73 :: (x64) ::::
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Spieldauer oder Bitrate von MP3-Dateien
Das eine Userlib von 2002 noch funktioniert zweifel ich aber mal anDrFalo hat geschrieben:Kloro, die Datei "MP3" muß ins PureBasic Unterverzeichnis "PureLibraries/UserLibraries".

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Spieldauer oder Bitrate von MP3-Dateien
Du sollst nicht zweifeln sondern probieren. Sie geht natürlich. :-Pts-soft hat geschrieben:Das eine Userlib von 2002 noch funktioniert zweifel ich aber mal anDrFalo hat geschrieben:Kloro, die Datei "MP3" muß ins PureBasic Unterverzeichnis "PureLibraries/UserLibraries".
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Re: Spieldauer oder Bitrate von MP3-Dateien
Und sonst kann man sich ja die entsprechende PureBasic-Version aus dem Museum nachinstallieren. 

"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Re: Spieldauer oder Bitrate von MP3-Dateien
Ich weiss nicht ob es noch so ist,aber es gibt/gab da noch das Problem mit der MP3Info.res .DrFalo hat geschrieben:Sie geht natürlich. :-P
Ich habe die Structur ,die in dieser Datei steckt,einfach selbst erstellt.
Re: Spieldauer oder Bitrate von MP3-Dateien
Es funktioniert
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

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
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.
Die Datei "MP3" ist eine Bibliothek. PB durchsucht den
Userlib-Ordner beim start und registriert alle Funktionen.
MFG PMV
Was eine Struktur ist, lässt sich in der PB-Hilfe finden.

Und dann wird dir auch hoffentlich klar, was in Zeile 8 passiert.

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
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
habe mich dank deiner Tips ganz brauchbar eingelesen. Vor allem die Info zur "Bibliothek MP3" war hilfreich fürs Verständnis.
Gruß Nordwolf