Показать сообщение отдельно
  #9  
Старый 30.11.2014, 20:45
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вот откопал рабочий переключатель из заброшенного видеоплеера
Код:
procedure TMainForm.btnSoundSwitchClick(Sender: TObject);
var
 FList: TDSoundFilterList;
 pBasicAudio: iBasicAudio;
 i: integer;
begin
 FList:= TDSoundFilterList.Create(FilterGraph as iFilterGraph);
  try
  i:= (Sender as TButton).Tag + 1;
   if i <> FList.Count then
   begin
    FilterGraph.QueryInterface(IID_IBasicAudio, pBasicAudio);
    pBasicAudio.put_Volume(-10000);
    (Sender as TButton).Tag:= (Sender as TButton).Tag + 1;
    FList.Items[(Sender as TButton).Tag].QueryInterface(IID_IBasicAudio, pBasicAudio);
    pBasicAudio.put_Volume(0);
    end else
     begin
      FilterGraph.QueryInterface(IID_IBasicAudio, pBasicAudio);
      pBasicAudio.put_Volume(-10000);
      (Sender as TButton).Tag:= 0;
      FList.Items[(Sender as TButton).Tag].QueryInterface(IID_IBasicAudio, pBasicAudio);
      pBasicAudio.put_Volume(0);
      end;
 finally
   FList.Free;
 end;
end;
гляньте пжлст, вдруг поможет
Ответить с цитированием