Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   An lame.exe Bitratevariable übergeben? (https://www.delphipraxis.net/153672-lame-exe-bitratevariable-uebergeben.html)

OrNEC 12. Aug 2010 12:01

An lame.exe Bitratevariable übergeben?
 
Hallo,

versuche schon seit Gestern an die lame.exe eine Bitravariable zu übergeben, aber es gelingt mir nicht. Also zur Zeit encodiere ich die mp3's wie folgt:

Delphi-Quellcode:
//var bitrate: String;
begin
//bitrate:='-b 128';

BASS_Encode_Start(chan, Pointer(PWideString('lame -h - "' + Verzeichnis + '"')), BASS_UNICODE, nil, nil);
end;
Den Parameter "-h" will ich durch die Variable "bitrate" ersetzen, und da komm ich nicht weiter.

Hab schon so versucht und zig anders... also klappt nichts. Wer hilft mir da weiter?
Delphi-Quellcode:
... 'lame "'bitrate'" ...

DeddyH 12. Aug 2010 12:09

AW: An lame.exe Bitratevariable übergeben?
 
http://wiki.hydrogenaudio.org/index....e=EAC_and_Lame
Zitat:

So, if you selected 192 kBit/s in the Bit Rate drop-down list, the command line would be:
Code:
LAME.exe -b192 %s %d


OrNEC 12. Aug 2010 12:15

AW: An lame.exe Bitratevariable übergeben?
 
Hm.... :gruebel:
hilft mir irgendwie nicht weiter, -b192 ist doch keine Variable und die will ich grade. :gruebel:

DeddyH 12. Aug 2010 12:18

AW: An lame.exe Bitratevariable übergeben?
 
Delphi-Quellcode:
var bitrate: integer;
begin
  bitrate := 128;
  BASS_Encode_Start(chan, Pointer(PWideString(Format('lame -b%d -"%s"',[bitrate, Verzeichnis]))), BASS_UNICODE, nil, nil);

OrNEC 12. Aug 2010 12:27

AW: An lame.exe Bitratevariable übergeben?
 
Ach so... ok ist schon verständlicher.

Und wenn ich "-b" durch "-h" ersetzen will und dabei hat "-h" keine Bitrate? :gruebel:

Das ist nämlich so:

Automatische Bitrate:
Delphi-Quellcode:
BASS_Encode_Start(chan, Pointer(PWideString('lame -h - "' + Verzeichnis + '"')), BASS_UNICODE, nil, nil);


Und das hier manuelle:
Delphi-Quellcode:
BASS_Encode_Start(chan, Pointer(PWideString('lame -b 128 - "' + Verzeichnis + '"')), BASS_UNICODE, nil, nil);


Also die Parameter "-h" und "-b" müssen wohl auch Variablen sein, oder?

Delphi-Quellcode:
bitrate:='-h';
oder
bitrate:='-b 128';

DeddyH 12. Aug 2010 12:39

AW: An lame.exe Bitratevariable übergeben?
 
Delphi-Quellcode:
type TBitrate = (brAutomatic, br128, br192); //nur als Beispiel, sollte noch erweitert werden

procedure MachWas(bitrate: TBitrate);
var brString: string;
begin
  case bitrate of
    br128: brString := '-b 128';
    br192: brString := '-b 192';
    else
      //brAutomatic oder ungültiger Wert
      brString := '-h';
  end;
  BASS_Encode_Start(chan, Pointer(PWideString(Format('lame %s -"%s"',[brString, Verzeichnis]))), BASS_UNICODE, nil, nil);

OrNEC 12. Aug 2010 12:45

AW: An lame.exe Bitratevariable übergeben?
 
:shock: :roteyes:

Geht das nicht einfacher?
Ok danke, ich schau ma was es sich machen lässt.

DeddyH 12. Aug 2010 12:53

AW: An lame.exe Bitratevariable übergeben?
 
Klar geht das auch einfacher.
Delphi-Quellcode:
var bitrate: integer;

...

if bitrate > 0 then
  brString := '-b ' + IntToStr(bitrate)
else
  brString := '-h';
Ist halt nicht so schön strukturiert ;)

OrNEC 12. Aug 2010 12:59

AW: An lame.exe Bitratevariable übergeben?
 
Ok das ist klar, aber mein Problem ist wie setze ich die Variable "bitrate" in die Kommandozeile von lame rein?

Wie gesagt hab schon alles mögliche versucht.

DeddyH 12. Aug 2010 13:07

AW: An lame.exe Bitratevariable übergeben?
 
Mit Format(), wie oben geschrieben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr.
Seite 1 von 4  1 23     Letzte »    

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