Здравствуйте, D. Mon, Вы писали:
DM>Здравствуйте, XoSteL, Вы писали:
XSL>>// если так , то как можно можно управлять гомкостью дорожек используя индекс рендереров???
DM>Если угодно по индексу рендереров — сделайте массив, содержащий указатели на IBasicAudio для каждого рендерера, и по индексу к ним обращайтесь.
Вот так все работает
procedure TForm1.btASwitchClick(Sender: TObject);
var
FilterList: TDSoundFilterList;
pBasicAudio: IBasicAudio;
i : integer;
begin
i := btASwitch.Tag + 1;
FilterList := TDSoundFilterList.Create(FilterGraph as IFiltergraph);
try
if i <> FilterList.Count then
begin
FilterGraph.QueryInterface(IID_IBasicAudio, pBasicAudio);
pBasicAudio.put_Volume(-10000);
btASwitch.Tag := btASwitch.Tag + 1;
FilterList.Items[btASwitch.Tag].QueryInterface(IID_IBasicAudio, pBasicAudio);
pBasicAudio.put_Volume(0);
ShowMessage('Audio ' + IntToStr(i) + ' из ' + IntToStr(FilterList.Count));
end else
begin
FilterGraph.QueryInterface(IID_IBasicAudio, pBasicAudio);
pBasicAudio.put_Volume(-10000);
btASwitch.Tag := 0;
FilterList.Items[btASwitch.Tag].QueryInterface(IID_IBasicAudio, pBasicAudio);
pBasicAudio.put_Volume(0);
ShowMessage('Audio ' + IntToStr(i) + ' из ' + IntToStr(FilterList.Count));
end;
finally
FilterList.Free;
end;
end;
Может можно сделать проще??? Подскажите как