Laden...

mp3 länge herausfinden

Erstellt von *neo* vor 17 Jahren Letzter Beitrag vor 17 Jahren 5.839 Views
*
*neo* Themenstarter:in
299 Beiträge seit 2006
vor 17 Jahren
mp3 länge herausfinden

hallo,

ich schreib mir gerade nen mp3 player und sitze an dem problem, das mir die länge fehlt um festzustellen wann ein song zu ende ist. wie kann ich die abfragen ich habs mit status song length vesucht das geht aber nur mit dateien welche keine leerzeichen im namen haben. also so:

StringBuilder buffer = new StringBuilder(256);
command = "status "" + fileName + "" length";
int err = mciSendString(command, buffer, 256, IntPtr.Zero);

        return buffer.ToString();  

geht das ihregend wie anders? oder kan ich evt auch anders herrausfinden wann ein song zuende ist? ich arbeite mit mci!

danke

gruß

55 Beiträge seit 2006
vor 17 Jahren
*
*neo* Themenstarter:in
299 Beiträge seit 2006
vor 17 Jahren

hallo,
danke für den link. doch leider steht da in der length methode nichts anderes und gibt auch nix anderes zurück.

der fehler besteht weiterhin. ich übergebe scheinbar den string falsch!!

vielleicht jemand ja noch ne idee

hier nochmal der code

StringBuilder buffer = new StringBuilder(256);
command = "status "" + fileName + "" length";
int err = mciSendString(command, buffer, 256, IntPtr.Zero);
checkError(err);

        return buffer.ToString();  

gruß

6.862 Beiträge seit 2003
vor 17 Jahren

Kannst du nicht einfach die Bitrate auslesen und aus der Dateigröße und Bitrate dann die Länge berechnen? (okay, funktioniert nur bei statischer Bitrate so einfach)

Baka wa shinanakya naoranai.

Mein XING Profil.

215 Beiträge seit 2004
vor 17 Jahren

Original von talla
Kannst du nicht einfach die Bitrate auslesen und aus der Dateigröße und Bitrate dann die Länge berechnen? (okay, funktioniert nur bei statischer Bitrate so einfach)

Das müsste prinzipiell auch bei VBR gehen. Muss nur (am Besten im Thread) einmal über die gesamte Datei für alle MP3 Header ausgeführt werden.
Hab das irgendwann schonmal so gemacht und das ging recht zügig.

Tipp: Bei der Gelegenheit gleich ne MD5 über den Dateinamen (und eine über die Header-Infos) und die Länge und evtl. andere Angaben in ner DB merken. Dann spart man sich den Kram in Zukunft 🙂

greetz
DaSchroeter

D
481 Beiträge seit 2005
vor 17 Jahren

Also wenn du MCI benutzt, dann schau dir mal den Thread im Artikel-Forum. Da ist in der Klasse bereits eine Methode GetLength und eine Methode GetCurrentPosition implementiert.

Dexter

Programmierer sind Maschinen die Koffein in Quellcode umsetzen.