AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mergen von Audios

Ein Thema von markusagb · begonnen am 29. Jun 2018 · letzter Beitrag vom 7. Jul 2018
 
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#8

AW: Mergen von Audios

  Alt 4. Jul 2018, 23:47
Für alle die das Gleiche benötigen, hier der Code wie es funktioniert. Hat etwas gedauert, aber das läuft:


procedure TForm1.Audiomerge;
var Source1, Source2, Source3 : Cardinal;
Mixer : Cardinal;
duration1, duration2, duration3: double;
len:qword;
start: QWORD;
length: QWORD ;
begin
Source1 := BASS_StreamCreateFile(false, PChar('D:\Intro.wav'), 0, 0, 0 {$IFDEF UNICODE} or BASS_UNICODE or BASS_STREAM_DECODE {$ENDIF});
Source2:= BASS_StreamCreateFile(false, PChar('D:\Meldung1.wav'), 0, 0, 0 {$IFDEF UNICODE} or BASS_UNICODE or BASS_STREAM_DECODE {$ENDIF});
Source3:= BASS_StreamCreateFile(false, PChar('D:\Meldung2.wav'), 0, 0, 0 {$IFDEF UNICODE} or BASS_UNICODE or BASS_STREAM_DECODE {$ENDIF});

Mixer:= BASS_Mixer_StreamCreate(48000, 2, 0);

len:=BASS_ChannelGetLength(Source1, BASS_POS_BYTE);
duration1:=BASS_ChannelBytes2Seconds(Source1, len);
start:=BASS_ChannelSeconds2Bytes(mixer, 0.2);
length:=BASS_ChannelSeconds2Bytes(mixer, duration1);
BASS_Mixer_StreamAddChannelEx(mixer, Source1, 0, start, length);

len:=BASS_ChannelGetLength(Source2, BASS_POS_BYTE);
duration2:=BASS_ChannelBytes2Seconds(Source2, len);
start:=BASS_ChannelSeconds2Bytes(mixer, duration1);
length:=BASS_ChannelSeconds2Bytes(mixer, duration2);
BASS_Mixer_StreamAddChannelEx(mixer, Source2, 0, start, length);

len:=BASS_ChannelGetLength(Source3, BASS_POS_BYTE);
duration3:=BASS_ChannelBytes2Seconds(Source3, len);
start:=BASS_ChannelSeconds2Bytes(mixer, duration1+duration2);
length:=BASS_ChannelSeconds2Bytes(mixer, duration3);
BASS_Mixer_StreamAddChannelEx(mixer, Source3, 0, start, length);

BASS_ChannelPlay(mixer, false);

BASS_Encode_Start(Mixer, PChar('D:\neu.wav'), 0 {$IFDEF UNICODE} or BASS_UNICODE or BASS_ENCODE_PCM {$ENDIF}, nil, nil);

Geändert von markusagb ( 4. Jul 2018 um 23:52 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 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