can I use directshow in c#???
It depends on what you want to do. Microsoft provides a very limited access
to DirectShow via their AudioVideoPlayback managed library. I've never used
it but i suppose that all it allows you to do is... play audio and video
files.
DirectShow being based on COM, creating and controling DirectShow graphs
from C# is possible but involves a whole lot of COM-interop work.
Fortunately, there is an open source project aimed at creating managed
wrappers for all the DirectShow COM interfaces:
<
http://directshownet.sourceforge.net/index.html>
If you want to create DirectShow filters, then i'm afraid that you'll have
to do it in unmanaged C++. Microsoft recommends against the use of managed
code for filter development. Technically though, writing a DirectShow
filter in managed C++ or C# is possible, has been done and works. 2
examples:
<
http://www.codeproject.com/cs/media/prototypingdsfilters.asp?df=100&forumid=245171&fr=26>
<
http://www.a2ii.com/tech/directx/tutorialDS12.htm>
Here are some useful FAQs:
<
http://tmhare.mvps.org/faqs.htm>
dose Microsoft still support direct show sdk or there is a new technology
today???
You will find the answer to this question in the first FAQ above
what is the best way to draw on playing video and how can I do that???
I guess that you'll need to write a Transform filter and draw on the video
frames as they pass along. I'm not a specialist though so there might be
better solutions.