Entwickler-Ecke

Multimedia / Grafik - Ton bei TV-Karte


jakobwenzel - Do 06.04.06 16:09
Titel: Ton bei TV-Karte
Ich versuch, ein TV-Programm mit dem DSPack zu programmieren. Ich hab es schon hingekriegt, den Sender zu wechseln, nur kommt leider dauerhaft kein Ton, weder vor dem Wechsel, noch danach, aber es liegt definitiv nicht daran, dass ich einfach die Boxen aushab. Meine TV-Karte ist eine Pinnacle PCTV-Pro, welche an den Line-In der Soundkarte angeschlossen ist. Line-In ist mit der Lautstärke auf Maximum, und nicht deaktiviert.
Es scheint so, als würde die mitgelieferte Software der TV-Karte irgendwie Sagen, dass sie jetzt Ton abspielen soll, was mein Programm halt nicht tut.

Hier mal mein Code:


Variablen
1:
2:
3:
4:
5:
6:
BaseFilter: IBaseFilter;
FTVTUNER:IAMTVTuner;
VideoWindow:TVideoWindow; //Komponente
FilterGraph:TFilterGraph; //Komponente
Filter:TFilter; //Komponente
SampleGrabber:TSampleGrabber; //Komponente



formCreate
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
var
  Enumfilters:IEnumFilters;
  SysDev: TSysDevEnum;
begin
  SysDev:= TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);
  if SysDev.CountFilters > 0 then
    begin
      FilterGraph.ClearGraph;
      FilterGraph.Active := false;
      Filter.BaseFilter.Moniker := SysDev.GetMoniker(0);
      FilterGraph.Active := true;
      with FilterGraph as ICaptureGraphBuilder2 do
        RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, SampleGrabber as IBaseFilter, VideoWindow as IbaseFilter);
      FilterGraph.Play;
   end;
   (FilterGraph as IFilterGraph).EnumFilters(Enumfilters);
   EnumFilters.Reset;
   FTVTuner:=nil;
   while EnumFilters.Next(1,BaseFilter,nil)=S_OK do begin
     if Supports(BaseFilter,IAMTVTuner,FTVTuner) then begin
       break;
     end;
   end;
   SysDev.Free;



SenderWechseln
1:
(BaseFilter as IAMTVTuner).put_Channel(StrToInt(Edit1.Text),-1,-1);                    


ZeroEnna - Sa 15.04.06 18:59

Wenn du selber sagst dass die mitgelieferte Software die Soundkarte ansprticht, warum setzt du es dann nicht in dein Programm? ;)

Moderiert von user profile iconraziel: Auf nicht mehr vorhandenes Schiebeposting Bezogenes entfernt.


jakobwenzel - Sa 15.04.06 19:04

user profile iconZeroEnna hat folgendes geschrieben:

Wenn du selber sagst dass die mitgelieferte Software die Soundkarte ansprticht, warum setzt du es dann nicht in dein Programm? ;)


Ich glaub nicht, dass es an der Soundkarte liegt, wenn ich da irgendwas anderes anschließe, wird der Ton korrekt ausgegeben. Irgendwie muss man also der TV-Karte mitteilen, die Audio-Signale des aktuellen Senders an die Soundkarte weiterzuleiten, aber wie? :gruebel:


Blawen - Sa 15.04.06 19:13

user profile iconjakobwenzel hat folgendes geschrieben:
Irgendwie muss man also der TV-Karte mitteilen, die Audio-Signale des aktuellen Senders an die Soundkarte weiterzuleiten, aber wie? :gruebel:


Hast Du zu der Karte keine Doku?
Gibt es den Befehl mute?


jakobwenzel - Sa 15.04.06 19:34

user profile iconBlawen hat folgendes geschrieben:

Hast Du zu der Karte keine Doku?

leider nich, und auf der HP von Pinnacle gibts nur n PDF, wo drinsteht, wie man die Karte einbaut und die mitgelieferte Software installiert. :(


jakobwenzel - Mi 26.07.06 12:14

Problem is gelöst, die Karte is kaputtgegangen, hab jetz ne neue und bei der gibts Ton.

Jetz muss ich nur noch die Fernbedienung hinkriegen, aber das gehört in ein anderes Thema.