Einzelnen Beitrag anzeigen

Wishmaster

Registriert seit: 14. Sep 2002
Ort: Steinbach, MB, Canada
301 Beiträge
 
Delphi XE2 Architect
 
#11

Re: bass.dll - stereo zu mono

  Alt 16. Okt 2009, 20:27
Hi

Pan kannst du einfach als Integer deklarieren
Delphi-Quellcode:
var Pan : Integer;

Procedure Set_Balance(Value : integer);
begin
 Pan:= Value;
end;

PanDSPProc16 bzw. PanDSPProc32 soll dir nur demonstrieren wie du BASS_ChannelSetDSP
benutzen kannst.

Mit BASS_ATTRIB_PAN kannst du die Balance eins channels einstellen.
leider funst diese Methode nicht mit einen Rec. Channel (BASS_RecordStart) und an der stelle
benutzt du dann PanDSPProc16 um die Balance einzustellen

Delphi-Quellcode:
Function Set_Balance(Value : integer) : Boolean;
var Pan : Float;
begin
   Pan:= Value / 100.0;
   Result := BASS_ChannelSetAttribute(Channel, BASS_ATTRIB_PAN, Pan) ;
 if not Result then
  // error
end;



PS. du kannst das das auch einfacher habe und zwar mit der bassmix.dll, das Problem ist das jede Eingabe (e.g. BASS_ATTRIB_PAN, BASS_ATTRIB_VOL,... ) verzögert sich um ~1..2 Sec.


Zitat:
If the mixer output is being played (it is not a decoding channel), then there will be some delay in the effect of adding/removing source channels or changing their attributes being heard. This latency can be reduced by making use of the BASS_CONFIG_BUFFER and BASS_CONFIG_UPDATEPERIOD config options. The playback buffer can be flushed by calling BASS_ChannelPlay (restart = TRUE) or BASS_ChannelSetPosition (pos = 0). That can also be done to restart a mixer that has ended.


ich hoffe das hat dir weiter geholfen.
  Mit Zitat antworten Zitat