![]() |
WAV in MP3 konvertieren auf OSX
versuche mit Delphi XE6 eine Anwendung für OSX zu schreiben die WAVs in MP3 konvertieren soll. Dafür wird BASS und das LAME Framework benutzt.
Das ProgressBar zeigt aktivität, es kommen auch keine Fehlermeldung aber es wird kein MP3 erzeugt. Vielleicht hat jemand eine Idee was ich falsch gemacht habe.
Code:
LameString := '/Library/Frameworks/LAME.framework/LAME -b 128 --bitwidth 24 -q 2 - /Users/User/Downloads/song.mp3';
MP3Channel := BASS_StreamCreateFile(false, pchar(/Users/User/Downloads/song.wav'), 0, 0, BASS_SAMPLE_FLOAT or BASS_STREAM_DECODE or BASS_UNICODE); if MP3Channel = 0 then ShowMessage('Error BASS_StreamCreateFile for MP3:' + GetBassError) else begin if BASS_Encode_Start(MP3Channel, pchar(LameString), BASS_ENCODE_FP_24BIT or BASS_UNICODE, nil, nil) = 0 then ShowMessage('Error BASS_Encode_Start:' + GetBassError + #13 + LameString) else begin BytesRead := 4 * 102400; ProgressBar.Value := 0; while BASS_ChannelIsActive(MP3Channel) = BASS_ACTIVE_PLAYING do begin BytesCnt := BASS_ChannelGetData(MP3Channel, @DataFloatBuffer[0], BytesRead); if BytesCnt = DW_ERROR then ShowMessage('Error BASS_ChannelGetData:' + GetBassError); MP3BytePosition := BASS_ChannelGetPosition(MP3Channel, BASS_POS_Byte); if MP3BytePosition = QW_ERROR then begin MP3TimePosition := 0; ShowMessage('Error BASS_ChannelGetPosition:' + GetBassError); end else MP3TimePosition := trunc(1000 * BASS_ChannelBytes2Seconds(MP3Channel, MP3BytePosition)); ProgressBar.Value := MP3TimePosition; Application.ProcessMessages; end; if not BASS_Encode_Stop(MP3Channel) then ShowMessage('Error BASS_Encode_Stop:' + GetBassError); Result := true; end; BASS_StreamFree(MP3Channel); end; |
AW: WAV in MP3 konvertieren auf OSX
bump
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr. |
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