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.