关于DShow开发摄像头程序问题

新版的VS2010虽然包含了DirectShow,但文件并不齐全。
在使用 ISampleGrabber操作视像头视频捕捉时,会出现  streams.h qedit.h  mtype.h
找不到的问题。


下载完整的windows   sdk包, E:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses 
包含streams.h   mtype.h
并且打开该目录下的baseclasses项目文件编译各个版本。


qedit.h 内容如下,自己手动创建头文件并放至C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include




///


#ifndef __qedit_h__
#define __qedit_h__


///


#pragma once


///


interface
ISampleGrabberCB
:
 public IUnknown
{
 virtual STDMETHODIMP SampleCB(double SampleTime,IMediaSample*pSample )=0;
 virtual STDMETHODIMP BufferCB(double SampleTime, BYTE *pBuffer,long BufferLen)=0;
};


///


static
const
IID IID_ISampleGrabberCB ={0x0579154A,0x2B53,0x4994,{0xB0,0xD0,0xE7,0x73,0x14,0x8E,0xFF,0x85}};


///


interface
ISampleGrabber
:
 public IUnknown
{
 virtual HRESULT STDMETHODCALLTYPE SetOneShot( BOOL OneShot)=0;
 virtual HRESULT STDMETHODCALLTYPE SetMediaType(const AM_MEDIA_TYPE *pType )=0;
 virtual HRESULT STDMETHODCALLTYPE GetConnectedMediaType( AM_MEDIA_TYPE *pType )=0;
 virtual HRESULT STDMETHODCALLTYPE SetBufferSamples( BOOL BufferThem)=0;
 virtual HRESULT STDMETHODCALLTYPE GetCurrentBuffer(long*pBufferSize,long*pBuffer )=0;
 virtual HRESULT STDMETHODCALLTYPE GetCurrentSample(IMediaSample**ppSample )=0;
 virtual HRESULT STDMETHODCALLTYPE SetCallback(ISampleGrabberCB*pCallback,long WhichMethodToCallback)=0;
};


///


static
const
IID IID_ISampleGrabber ={0x6B652FFF,0x11FE,0x4fce,{0x92,0xAD,0x02,0x66,0xB5,0xD7,0xC7,0x8F}};


///


static
const
CLSID CLSID_SampleGrabber ={0xC1F400A0,0x3F08,0x11d3,{0x9F,0x0B,0x00,0x60,0x08,0x03,0x9E,0x37}};


///


static
const
CLSID CLSID_NullRenderer ={0xC1F400A4,0x3F08,0x11d3,{0x9F,0x0B,0x00,0x60,0x08,0x03,0x9E,0x37}};


///


static
const
CLSID CLSID_VideoEffects1Category ={0xcc7bfb42,0xf175,0x11d1,{0xa3,0x92,0x0,0xe0,0x29,0x1f,0x39,0x59}};


///


static
const
CLSID CLSID_VideoEffects2Category ={0xcc7bfb43,0xf175,0x11d1,{0xa3,0x92,0x0,0xe0,0x29,0x1f,0x39,0x59}};


///


static
const
CLSID CLSID_AudioEffects1Category ={0xcc7bfb44,0xf175,0x11d1,{0xa3,0x92,0x0,0xe0,0x29,0x1f,0x39,0x59}};


///


static
const
CLSID CLSID_AudioEffects2Category ={0xcc7bfb45,0xf175,0x11d1,{0xa3,0x92,0x0,0xe0,0x29,0x1f,0x39,0x59}};


///


#endif


///

你可能感兴趣的:(Direct,Show)