|
헤더 추가를 #include <qedit.h> 해주는것 까진 알았는데. 라이브러리 추가를 해줘야 한다고 하네요..
STRMIIDS.LIB 를 프로젝트에 추가하고 나니까 되네요. 아직 선언만 된거지 사용하는 것에서 무슨 문제가 생길지..
추가 질문 답변 주실 분에게 미리 감사 인사 드립니다. ㄳ~
김재범 님이 쓰신 글 :
: 영상 플레이어를 만드는데. 몇가지 고치고 싶은것과 추가 하고 싶은것이 있긴 하지만 다 만들었어요. 와~~
:
: 거기에 비디오 영상을 캡쳐 해서 저장하는 것. 책에 보면서 코드를 보면서 해봐도 링크에러에 문제가 많네요..
:
: 아래가 주요 문장인데 소스에서 샘플그래버 생성하는것을 어떻게 하는지..아래는 제가 짜본 소스인데 링크에러..ㅡㅜ
:
: 그리고 수정하고 싶은것은. 이미지에 마우스를 오버 하면 그림이 변하게 하고 싶은데 오버 이벤트를 어떻게 처리 해야 할지 모르겠네요. 그리고 소스에 보면
:
: if(OpenDialog1->Execute());
:
: 라고 있는데. 찾다가 장성호님의 글을 보고 해봤는데도 잘 안되네요.
: 하고 싶은건 오픈다이얼로그를 열어서 취소면 그냥 넘어가고 확인이면 영상을 불러와서 초기화및 처리하는 것.
: 아래 문장이 취소를 해도 실행되고. 그래서
:
: String File = OpenDialog1->FileName; // 취소시 NULL 반환
:
: 아래에 (File != NULL) 문장을 추가 했는데도 그 아래가 계속 진행이 되는게 좀 이상하네요..
:
: // 헤더
: ...
: WCHAR FileName[MAX_PATH];
: IGraphBuilder *m_pGB;
: IVideoWindow *m_pVW;
: IMediaControl *m_pMC;
: IMediaSeeking *m_pMS;
: IMediaPosition *m_pMP;
: IBaseFilter *m_pSG;
: IBasicAudio *m_pBA;
: ...
: // 소스
: //오픈 메소드
: ...
: if(OpenDialog1->Execute());
: {
: String File = OpenDialog1->FileName;
: MultiByteToWideChar(CP_ACP, 0, File.c_str(), -1, FileName, MAX_PATH);
: CoCreateInstance(CLSID_FilterGraph, NULL,
: CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**)&m_pGB);
:
: CoCreateInstance(CLSID_SampleGrabber, NULL,
: CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&m_pSG);
:
: m_pGB->QueryInterface(IID_ISampleGrabber, (void**)&m_pSG);
: m_pGB->AddFilter(m_pSG, L"SampleGrabber");
:
: m_pGB->RenderFile(FileName, NULL);
: Caption = FileName;
:
: m_pGB->QueryInterface(IID_IVideoWindow, (void**)&m_pVW);
: m_pGB->QueryInterface(IID_IMediaControl, (void**)&m_pMC);
: m_pGB->QueryInterface(IID_IMediaSeeking, (void**)&m_pMS);
: m_pGB->QueryInterface(IID_IMediaPosition, (void**)&m_pMP);
: m_pGB->QueryInterface(IID_IBasicAudio, (void**)&m_pBA);
: ...
|