I have an analog TV Tuner Card, which has an FM radio built-in as well.
I started learning DirectShow, but I am stuck at the begining.
There are so many Interfaces and methods. It seems too confusing.
I have the following questions (I am only going to write about TV now):
I want to display the TV screen in my application window.
How can I change channels/frequencies?
Also how can I draw something on the previewed picture before its drawn on
the screen?
For example the channel's name/number or anything in my window?
How can I get a pointer to the Tuner card's video buffer (just like in
DirectDraw), so I can draw to that before displaying?
I found these structures interesting, but I don't know how I could use them.
AMVABeginFrameInfo
VIDEOINFO
VIDEOINFOHEADER
What should I connect together?
What is the order of the methods?
Can anyone list the order of the methods for this?
Is there any sample somewhere? (I have already seen the PlayCap and AmCap.)
I'm using Windows XP Home Edition.
Please, Help!
Thank You All!
It's not a simple topic. There are wrapper controls to make this easier,
like msvidctl.ax. If you are just starting with DirectShow, you might want
to go through the simpler samples in the SDK before tackling TV.
>I have the following questions (I am only going to write about TV now):
>
>I want to display the TV screen in my application window.
>How can I change channels/frequencies?
You ask the graph for an IAMTVTuner interface, then call put_Channel (which
is actually in IAMTuner, but is inherited by IAMTVTuner). The tuner
component will provide that interface.
>Also how can I draw something on the previewed picture before its drawn on
>the screen?
>For example the channel's name/number or anything in my window?
You can't get at the image before its drawn. Well, technically I suppose
you could insert a transform filter into the graph and modify the frames,
but that's inefficient because it prevents the use of overlays.
The usual way to do this is to use a colorkey. You fill the video window
with an unusual solid color, then tell the renderer to use that color as
the colorkey. Then, whatever you draw on the window in any other color
will be visible, while the colorkey color is replaced by the image.
>How can I get a pointer to the Tuner card's video buffer (just like in
>DirectDraw), so I can draw to that before displaying?
The tuner/capture card does not have a video buffer. It is processing a
stream, sending a stream of bytes into the graph. Often, that stream of
bytes is drawn directly into an overlay or texture surface in your video
card, without ever having lived in main memory at all.
>What should I connect together?
You are already seeing that in AMCap. When you instantiate the capture
filter and do a "render", the graph manager will automatically bring in the
tuner.
>Is there any sample somewhere? (I have already seen the PlayCap and AmCap.)
AMCap is a good place to start, although it doesn't know about television.
--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.
Thank You for the IAMTVTuner and IAMTuner Interfaces, these are what I was
looking for.
Now I can switch between TV and FM radio with IAMTuner::put_Mode with
AMTunerModeType
1.Can you tell me about TeleText? How can I display the TeleText of a
channel?
2.What Interfaces or Methods deal with Remote control? Can I use the buttons
of the remote control in my program?
3.My PCI TV Tuner card's audio is connected to the integrated sound card on
the mainboard through CD-line(this is the only connection).
The SDK says:
"The Audio Capture filter represents an audio capture device. It has one
capture output pin and several input pins (one for each type of input on the
card, such as Line In, Mic, CD, and MIDI)."
But i have not found the CD-line Flag in IAMCrossbar::get_CrossbarPinInfo
PhysicalConnectorType.
I am lost somewhere.
Thanks for Help!
Zoge
For this to work, the capture driver must expose a closed caption pin.
>2.What Interfaces or Methods deal with Remote control? Can I use the buttons
>of the remote control in my program?
That's not handled in DirectShow. If the capture card had an IR receiver,
often the remote control gets exposed as a HID device, so your program sees
keypresses like up and down.
>3.My PCI TV Tuner card's audio is connected to the integrated sound card on
>the mainboard through CD-line(this is the only connection).
>The SDK says:
>"The Audio Capture filter represents an audio capture device. It has one
>capture output pin and several input pins (one for each type of input on the
>card, such as Line In, Mic, CD, and MIDI)."
>But i have not found the CD-line Flag in IAMCrossbar::get_CrossbarPinInfo
>PhysicalConnectorType.
What do you see if you bring up the audio capture filter in DirectShow? Is
there a CD pin? If you bring up the filter properties, does the mixer
control have a CD option?
i'm also search a idea for looking Tv und radio with my tv-card. So i hope you can help a little...
how it goes with the AMTVTuner and IAMTuner Interfaces?
i have it integred DShowNet and DirectX.Capture i my project, so how can i to act this both interfaces?
Thanks for your help!
Greez
Roman
Zoge wrote:
Thank You for the IAMTVTuner and IAMTuner Interfaces, these are what I
07-Jan-10
Thanks for Help!
Zoge
Previous Posts In This Thread:
Submitted via EggHeadCafe - Software Developer Portal of Choice
SQL Server Estimating Compression Savings
http://www.eggheadcafe.com/tutorials/aspnet/fa8041aa-92de-47a2-8763-ff0c0ea346fd/sql-server-estimating-com.aspx