Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Mp3 Länge mit mcisendstring (https://www.delphipraxis.net/38044-mp3-laenge-mit-mcisendstring.html)

Moyyer 13. Jan 2005 22:30


Mp3 Länge mit mcisendstring
 
Hallo Alle Zusammen

Ich habe einen Player. Im Internet habe ich gefunden, dass man mit
mcisendstring('status MP3 Length'...) die Länge der MP3-Datei ermitteln kann.

Code:
procedure TPlayer.IPlayClick(Sender: TObject);
var I: integer;
    nlength: Pchar;
begin
if s = '' then exit;
istopclick(self);
mciSendString(PChar('open "' + s + '" alias MP3'), nil, 0, 0);
mciSendString('play MP3', nil, 0, Player.Handle);
mciSendString('status MP3 length',nlength, length(nlength), 0);
 showmessage(nlength);
end;
Nur leider steht in der showmessage nichts drin.
wieso?

Hat jem. eine Idee?

MfG Moyyer

Moyyer 16. Jan 2005 13:16

Re: Mp3 Länge mit mcisendstring
 
Hi

Für alle die, die das Problem auch haben, sende ich hier mal noch die Lösung.
(Da scheinbar niemand mehr lust hat sein Wissen zu posten :evil: )

Code:
procedure TPlayer.IPlayClick(Sender: TObject);
var I: integer;
    nlength: string;
begin
if s = '' then exit;
istopclick(self);
mciSendString(PChar('open "' + s + '" alias MP3'), nil, 0, 0);
mciSendString('play MP3', nil, 0, Player.Handle);
setlength(nlength, 255);
mciSendString('status MP3 length',pchar(nlength), length(nlength), 0);
showmessage(nlength);
end;
MfG Moyyer

SirThornberry 16. Jan 2005 13:23

Re: Mp3 Länge mit mcisendstring
 
wo hast du das gefunden? MSDN? Hat also nur das setLength gefehlt??
Zitat:

(Da scheinbar niemand mehr lust hat sein Wissen zu posten )
Vielleicht wusste es auch wirklich niemand. Alles was ich kenne beruht darauf das ganze zu encoden und dann per wave auszugeben bzw, die mp3 header auszulesen und dann daraus berechnen wie lang die date ist.

Funktioniert die Methode auch bei variablen Bitraden oder wird die länge nur berechnet und nicht wirklich überprüft (per filescan)

Moyyer 16. Jan 2005 18:19

Re: Mp3 Länge mit mcisendstring
 
Zitat:

wo hast du das gefunden? MSDN? Hat also nur das setLength gefehlt??
Ich hab ein bisschen damit rumgespielt und irgendwann hats funktioniert. :dancer:

Ich kann allen nur raten, wenn sie einen leistungsfähigen Player programmieren wollen, es mit
MCISENDSTRING zu machen. Selbst Lautstärke ist damit kein Problem mehr.

Hilfreich ist auch wie oben genannt MSDN. Hier der Link
MCISENDSTRING

Ihr könnt den Player bald auf www.moyyer.de runterladen.
Fragen könnt ihr gern an mich stellen.

MfG Moyyer


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz