Einzelnen Beitrag anzeigen

alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#41

AW: Sounds gleichzeitig abspielen

  Alt 10. Jan 2011, 14:28
jo, geht mit der Bass.dll

Delphi-Quellcode:
private
     schus1, schus2, schus3: HSTREAM;
    song1: string;

....
....
procedure TForm1.FormCreate(Sender: TObject);
begin
    if not BASS_Init(1, 44100, 0, Handle, nil) then
     Application.Terminate;

   song1:= 'g:\Musik\PLAYER1\schuss.wav';
        
   schus1:= BASS_StreamCreateFile(False, pchar(song1),0, 0,BASS_SAMPLE_SOFTWARE
                         {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
   schus2:= BASS_StreamCreateFile(False, pchar(song1),0, 0, BASS_SAMPLE_SOFTWARE
                         {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
   schus3:= BASS_StreamCreateFile(False, pchar(song1),0, 0, BASS_SAMPLE_SOFTWARE
                         {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
end;

procedure TForm1.btnplay1Click(Sender: TObject);
begin
    if (BASS_ChannelIsActive(schus1) = 0) then
       BASS_ChannelPlay(schus1, False)
    else
    if (BASS_ChannelIsActive(schus2) = 0) then
       BASS_ChannelPlay(schus2, False)
    else
    if (BASS_ChannelIsActive(schus3) = 0) then
       BASS_ChannelPlay(schus3, False)
end;
....
....
So hab ich es mal umgesetzt und es funct. Wenn es sein muss must Du natürlich mehr HSTREAM (schus) erzeugen. Es kommt darauf an wie lang die wav ist und damit Du genügend hast wenn 3 nicht reichen!

Besser währe natürlich ein soundthread

gruss alold

Geändert von alfold (10. Jan 2011 um 14:32 Uhr)
  Mit Zitat antworten Zitat